Function at 0x47e220
Capabilities:
Create tcp socket
Create udp socket
Get hostname
Get local ipv4 addresses
Get socket information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x569335
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x9184
call fcn.00528110
mov eax, dword [0x5c5ebc]
xor eax, ebp
mov dword [ebp - 0x2c], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x9118], ecx
call fcn.00460e70
test eax, eax
je 0x47e272
call fcn.00461150
test eax, eax
jne 0x47e38c
lea eax, [ebp - 0x90a4]
push eax
call fcn.0042d9b0
add esp, 4
mov dword [ebp - 0x911c], eax
mov ecx, dword [ebp - 0x911c]
mov dword [ebp - 0x9120], ecx
mov dword [ebp - 4], 0
push 0x582a18
mov edx, dword [ebp - 0x9120]
push edx
lea eax, [ebp - 0x90a8]
push eax
call fcn.00411930
add esp, 0xc
mov dword [ebp - 0x9124], eax
mov ecx, dword [ebp - 0x9124]
call fcn.00415f60
push eax
push 0x582a34
push 0x582a38
push 0x582a48
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea ecx, [ebp - 0x90a8]
call fcn.00415e20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x90a4]
call fcn.00415e20
lea ecx, [ebp - 0x90ac]
push ecx
call fcn.0042d9b0
add esp, 4
mov dword [ebp - 0x9128], eax
mov edx, dword [ebp - 0x9128]
mov dword [ebp - 0x912c], edx
mov dword [ebp - 4], 1
push 0x582a58
mov eax, dword [ebp - 0x912c]
push eax
lea ecx, [ebp - 0x90b0]
push ecx
call fcn.00411930
add esp, 0xc
mov dword [ebp - 0x9130], eax
mov ecx, dword [ebp - 0x9130]
call fcn.00415f60
push eax
push 0x582a74
push 0x582a78
push 0x582a8c
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea ecx, [ebp - 0x90b0]
call fcn.00415e20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x90ac]
call fcn.00415e20
call fcn.0043c150
xor eax, eax
jmp 0x47ee62
push 0
push 0
mov edx, dword [ebp + 8]
push edx
push 0
push 0
mov ecx, 0x5c8578
call fcn.0044e330
test eax, eax
jne 0x47e3ad
xor eax, eax
jmp 0x47ee62
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 4], 2
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x28], 0x10
lea edx, [ebp - 0x28]
push edx
lea eax, [ebp - 0x1450]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
call dword [sym.imp.WS2_32.dll_getsockname]
mov dword [ebp - 0x1440], 0
xor edx, edx
mov word [ebp - 0x2058], dx
push 0x800
push 0
lea eax, [ebp - 0x2056]
push eax
call fcn.005281f0
add esp, 0xc
mov dword [ebp - 0x1c], 0x400
lea ecx, [ebp - 0x1c]
push ecx
lea edx, [ebp - 0x2058]
push edx
call dword [sym.imp.KERNEL32.dll_GetComputerNameW]
movzx eax, word [ebp - 0x2058]
test eax, eax
jne 0x47e447
push 0x582a9c
lea ecx, [ebp - 0x2058]
push ecx
call fcn.005282c4
add esp, 8
call fcn.0043ce60
mov dword [ebp - 0x9134], eax
cmp dword [ebp - 0x9134], 0
je 0x47e530
xor edx, edx
mov word [ebp - 0x2858], dx
push 0x7fe
push 0
lea eax, [ebp - 0x2856]
push eax
call fcn.005281f0
add esp, 0xc
push 0x582aac
push str.220_CCProxy__s_SMTP_Service_Ready_r_n
lea ecx, [ebp - 0x2858]
push ecx
call fcn.00527b98
add esp, 0xc
lea edx, [ebp - 0x2858]
push edx
lea eax, [ebp - 0x90b8]
push eax
call fcn.00499e90
add esp, 8
mov dword [ebp - 0x9138], eax
mov ecx, dword [ebp - 0x9138]
mov dword [ebp - 0x913c], ecx
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x913c]
call fcn.00412150
push eax
mov edx, dword [ebp - 0x18]
push edx
mov ecx, dword [ebp - 0x9118]
call fcn.004c81b0
mov dword [ebp - 0x9140], eax
xor eax, eax
cmp dword [ebp - 0x9140], 0
sete al
mov byte [ebp - 0x90b1], al
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x90b8]
call fcn.00412130
movzx ecx, byte [ebp - 0x90b1]
test ecx, ecx
je 0x47e52b
mov dword [ebp - 0x90bc], 0
push 0x5b15cc
lea edx, [ebp - 0x90bc]
push edx
call fcn.005286d1
jmp 0x47e5fc
xor eax, eax
mov word [ebp - 0x3058], ax
push 0x7fe
push 0
lea ecx, [ebp - 0x3056]
push ecx
call fcn.005281f0
add esp, 0xc
push 0x582b18
push str.220_CCProxy__s_SMTP_Service_Ready_Unregistered__r_n
lea edx, [ebp - 0x3058]
push edx
call fcn.00527b98
add esp, 0xc
lea eax, [ebp - 0x3058]
push eax
lea ecx, [ebp - 0x90c4]
push ecx
call fcn.00499e90
add esp, 8
mov dword [ebp - 0x9144], eax
mov edx, dword [ebp - 0x9144]
mov dword [ebp - 0x9148], edx
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x9148]
call fcn.00412150
push eax
mov eax, dword [ebp - 0x18]
push eax
mov ecx, dword [ebp - 0x9118]
call fcn.004c81b0
mov dword [ebp - 0x914c], eax
xor ecx, ecx
cmp dword [ebp - 0x914c], 0
sete cl
mov byte [ebp - 0x90bd], cl
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x90c4]
call fcn.00412130
movzx edx, byte [ebp - 0x90bd]
test edx, edx
je 0x47e5fc
mov dword [ebp - 0x90c8], 0
push 0x5b15cc
lea eax, [ebp - 0x90c8]
push eax
call fcn.005286d1
mov byte [ebp - 0x1438], 0
push 0x1000
push 0
lea ecx, [ebp - 0x1437]
push ecx
call fcn.005281f0
add esp, 0xc
mov dword [ebp - 0x28], 0x1000
mov dword [ebp - 0x24], 0
mov byte [ebp - 0x430], 0
push 0x3ff
push 0
lea edx, [ebp - 0x42f]
push edx
call fcn.005281f0
add esp, 0xc
mov byte [ebp - 0x1850], 0
push 0x3ff
push 0
lea eax, [ebp - 0x184f]
push eax
call fcn.005281f0
add esp, 0xc
mov dword [ebp - 0x143c], 9
mov ecx, dword [ebp - 0x9118]
cmp dword [ecx + 0x210], 0
je 0x47edb4
mov edx, dword [ebp + 8]
cmp dword [edx], 2
jne 0x47edb4
lea eax, [ebp - 0x430]
push eax
lea ecx, [ebp - 0x143c]
push ecx
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp - 0x18]
push eax
mov ecx, dword [ebp - 0x9118]
call fcn.0047d2f0
mov dword [ebp - 0x9150], eax
cmp dword [ebp - 0x9150], 0
jne 0x47e6d5
mov dword [ebp - 0x90cc], 0
push 0x5b15cc
lea ecx, [ebp - 0x90cc]
push ecx
call fcn.005286d1
mov edx, dword [ebp - 0x143c]
mov dword [ebp - 0x9154], edx
mov eax, dword [ebp - 0x9154]
sub eax, 2
mov dword [ebp - 0x9154], eax
cmp dword [ebp - 0x9154], 6
ja case.0x47e703.3
mov ecx, dword [ebp - 0x9154]
jmp dword [ecx*4 + 0x47ee80]
cmp dword [ebp - 0x24], 0
je 0x47e753
push 0x582ab4
mov edx, dword [ebp - 0x18]
push edx
mov ecx, dword [ebp - 0x9118]
call fcn.004c81b0
mov dword [ebp - 0x9158], eax
cmp dword [ebp - 0x9158], 0
jne 0x47e74e
mov dword [ebp - 0x90d0], 0
push 0x5b15cc
lea eax, [ebp - 0x90d0]
push eax
call fcn.005286d1
jmp 0x47e7fe
lea ecx, [ebp - 0x430]
push ecx
lea edx, [ebp - 0x1850]
push edx
call fcn.0052a310
add esp, 8
lea eax, [ebp - 0x2058]
push eax
lea ecx, [ebp - 0x90d4]
push ecx
call fcn.00499e90
add esp, 8
mov dword [ebp - 0x915c], eax
mov edx, dword [ebp - 0x915c]
mov eax, dword [edx]
push eax
push str.250__s_r_n250_AUTH_LOGIN_r_n
lea ecx, [ebp - 0x1438]
push ecx
call fcn.0052a9d1
add esp, 0xc
lea ecx, [ebp - 0x90d4]
call fcn.00412130
lea edx, [ebp - 0x1438]
push edx
mov eax, dword [ebp - 0x18]
push eax
mov ecx, dword [ebp - 0x9118]
call fcn.004c81b0
mov dword [ebp - 0x9160], eax
cmp dword [ebp - 0x9160], 0
jne 0x47e7ed
mov dword [ebp - 0x90d8], 0
push 0x5b15cc
lea ecx, [ebp - 0x90d8]
push ecx
call fcn.005286d1
mov dword [ebp - 0x24], 1
mov dword [ebp - 0x1440], 0
jmp 0x47edaf
cmp dword [ebp - 0x24], 1
jne 0x47ebdd
mov byte [ebp - 0x6080], 0
push 0x1000
push 0
lea edx, [ebp - 0x607f]
push edx
call fcn.005281f0
add esp, 0xc
mov byte [ebp - 0x5078], 0
push 0x1000
push 0
lea eax, [ebp - 0x5077]
push eax
call fcn.005281f0
add esp, 0xc
mov byte [ebp - 0x4060], 0
push 0x1000
push 0
lea ecx, [ebp - 0x405f]
push ecx
call fcn.005281f0
add esp, 0xc
mov byte [ebp - 0x7088], 0
push 0x1000
push 0
lea edx, [ebp - 0x7087]
push edx
call fcn.005281f0
add esp, 0xc
mov dword [ebp - 0x4068], 0x1000
push str.334_VXNlcm5hbWU6_r_n
mov eax, dword [ebp - 0x18]
push eax
mov ecx, dword [ebp - 0x9118]
call fcn.004c81b0
mov dword [ebp - 0x9164], eax
cmp dword [ebp - 0x9164], 0
jne 0x47e8c9
mov dword [ebp - 0x90dc], 0
push 0x5b15cc
lea ecx, [ebp - 0x90dc]
push ecx
call fcn.005286d1
mov edx, dword [ebp - 0x4068]
push edx
lea eax, [ebp - 0x6080]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
mov ecx, dword [ebp - 0x9118]
call fcn.004c7870
mov dword [ebp - 0x9168], eax
cmp dword [ebp - 0x9168], 0
jne 0x47e910
mov dword [ebp - 0x90e0], 0
push 0x5b15cc
lea edx, [ebp - 0x90e0]
push edx
call fcn.005286d1
lea eax, [ebp - 0x6080]
push eax
call fcn.00529140
add esp, 4
mov byte [ebp + eax - 0x6082], 0
push str.334_UGFzc3dvcmQ6_r_n
mov ecx, dword [ebp - 0x18]
push ecx
mov ecx, dword [ebp - 0x9118]
call fcn.004c81b0
mov dword [ebp - 0x916c], eax
cmp dword [ebp - 0x916c], 0
jne 0x47e965
mov dword [ebp - 0x90e4], 0
push 0x5b15cc
lea edx, [ebp - 0x90e4]
push edx
call fcn.005286d1
mov dword [ebp - 0x4068], 0x1000
mov eax, dword [ebp - 0x4068]
push eax
lea ecx, [ebp - 0x5078]
push ecx
mov edx, dword [ebp - 0x18]
push edx
mov ecx, dword [ebp - 0x9118]
call fcn.004c7870
mov dword [ebp - 0x9170], eax
cmp dword [ebp - 0x9170], 0
jne 0x47e9b6
mov dword [ebp - 0x90e8], 0
push 0x5b15cc
lea eax, [ebp - 0x90e8]
push eax
call fcn.005286d1
lea ecx, [ebp - 0x5078]
push ecx
call fcn.00529140
add esp, 4
mov byte [ebp + eax - 0x507a], 0
mov dword [ebp - 0x4068], 0x1001
lea edx, [ebp - 0x4068]
push edx
lea eax, [ebp - 0x4060]
push eax
lea ecx, [ebp - 0x6080]
push ecx
call fcn.00529140
add esp, 4
push eax
lea edx, [ebp - 0x6080]
push edx
call fcn.0046bb40
add esp, 0x10
mov eax, dword [ebp - 0x4068]
mov byte [ebp + eax - 0x4060], 0
mov dword [ebp - 0x4068], 0x1001
lea ecx, [ebp - 0x4068]
push ecx
lea edx, [ebp - 0x7088]
push edx
lea eax, [ebp - 0x5078]
push eax
call fcn.00529140
add esp, 4
push eax
lea ecx, [ebp - 0x5078]
push ecx
call fcn.0046bb40
add esp, 0x10
mov edx, dword [ebp - 0x4068]
mov byte [ebp + edx - 0x7088], 0
push 0x582bc8
lea eax, [ebp - 0x4060]
push eax
call fcn.00420b60
add esp, 8
mov dword [ebp - 0x9174], eax
mov ecx, dword [ebp - 0x9174]
mov dword [ebp - 0x4064], ecx
cmp dword [ebp - 0x4064], 0
je 0x47ead2
mov byte [ebp - 0x8090], 0
push 0x1000
push 0
lea edx, [ebp - 0x808f]
push edx
call fcn.005281f0
add esp, 0xc
mov eax, dword [ebp - 0x4064]
add eax, 2
push eax
lea ecx, [ebp - 0x8090]
push ecx
call fcn.0052a310
add esp, 8
lea edx, [ebp - 0x8090]
push edx
lea eax, [ebp - 0x4060]
push eax
call fcn.0052a310
add esp, 8
push 0x23
lea ecx, [ebp - 0x4060]
push ecx
call fcn.00460d00
add esp, 8
mov dword [ebp - 0x9178], eax
mov edx, dword [ebp - 0x9178]
mov dword [ebp - 0x406c], edx
cmp dword [ebp - 0x406c], 0
jne 0x47eb2d
push str.535_authentication_failed_r_n
mov eax, dword [ebp - 0x18]
push eax
mov ecx, dword [ebp - 0x9118]
call fcn.004c81b0
mov dword [ebp - 0x90ec], 0
push 0x5b15cc
lea ecx, [ebp - 0x90ec]
push ecx
call fcn.005286d1
mov edx, dword [ebp - 0x406c]
mov byte [edx], 0
mov eax, dword [ebp - 0x406c]
add eax, 1
mov dword [ebp - 0x406c], eax
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x406c]
push ecx
lea edx, [ebp - 0x7088]
push edx
lea eax, [ebp - 0x4060]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp - 0x18]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x9118]
call fcn.0047d560
mov dword [ebp - 0x917c], eax
cmp dword [ebp - 0x917c], 0
je 0x47ebac
mov dword [ebp - 0x90f0], 1
push 0x5b15cc
lea ecx, [ebp - 0x90f0]
push ecx
call fcn.005286d1
jmp 0x47ebdb
push str.535_ESMTP_authentication_failed_r_n
mov edx, dword [ebp - 0x18]
push edx
mov ecx, dword [ebp - 0x9118]
call fcn.004c81b0
mov dword [ebp - 0x90f4], 0
push 0x5b15cc
lea eax, [ebp - 0x90f4]
push eax
call fcn.005286d1
jmp 0x47ec1b
push 0x582c0c
mov ecx, dword [ebp - 0x18]
push ecx
mov ecx, dword [ebp - 0x9118]
call fcn.004c81b0
mov dword [ebp - 0x9180], eax
cmp dword [ebp - 0x9180], 0
jne 0x47ec1b
mov dword [ebp - 0x90f8], 0
push 0x5b15cc
lea edx, [ebp - 0x90f8]
push edx
call fcn.005286d1
jmp 0x47edaf
cmp dword [ebp - 0x24], 0
jle 0x47ec77
push 0x582c28
mov eax, dword [ebp - 0x18]
push eax
mov ecx, dword [ebp - 0x9118]
call fcn.004c81b0
mov dword [ebp - 0x9184], eax
cmp dword [ebp - 0x9184], 0
jne 0x47ec64
mov dword [ebp - 0x90fc], 0
push 0x5b15cc
lea ecx, [ebp - 0x90fc]
push ecx
call fcn.005286d1
mov dword [ebp - 0x24], 1
mov dword [ebp - 0x1440], 0
jmp 0x47ecb5
push 0x582c34
mov edx, dword [ebp - 0x18]
push edx
mov ecx, dword [ebp - 0x9118]
call fcn.004c81b0
mov dword [ebp - 0x9188], eax
cmp dword [ebp - 0x9188], 0
jne 0x47ecb5
mov dword [ebp - 0x9100], 0
push 0x5b15cc
lea eax, [ebp - 0x9100]
push eax
call fcn.005286d1
jmp 0x47edaf
cmp dword [ebp - 0x24], 0
jle 0x47ed00
push str.250_OK_r_n
mov ecx, dword [ebp - 0x18]
push ecx
mov ecx, dword [ebp - 0x9118]
call fcn.004c81b0
mov dword [ebp - 0x918c], eax
cmp dword [ebp - 0x918c], 0
jne 0x47ecfe
mov dword [ebp - 0x9104], 0
push 0x5b15cc
lea edx, [ebp - 0x9104]
push edx
call fcn.005286d1
jmp 0x47ed3e
push str.503_command_out_of_order_r_n
mov eax, dword [ebp - 0x18]
push eax
mov ecx, dword [ebp - 0x9118]
call fcn.004c81b0
mov dword [ebp - 0x9190], eax
cmp dword [ebp - 0x9190], 0
jne 0x47ed3e
mov dword [ebp - 0x9108], 0
push 0x5b15cc
lea ecx, [ebp - 0x9108]
push ecx
call fcn.005286d1
jmp 0x47edaf
push str.221_SMTP_SERVICE_CLOSED_r_n
mov edx, dword [ebp - 0x18]
push edx
mov ecx, dword [ebp - 0x9118]
call fcn.004c81b0
mov dword [ebp - 0x910c], 1
push 0x5b15cc
lea eax, [ebp - 0x910c]
push eax
call fcn.005286d1
jmp 0x47edaf
push str.501_command_argument_is_not_acceptable_r_n
mov ecx, dword [ebp - 0x18]
push ecx
mov ecx, dword [ebp - 0x9118]
call fcn.004c81b0
mov dword [ebp - 0x9194], eax
cmp dword [ebp - 0x9194], 0
jne 0x47edaf
mov dword [ebp - 0x9110], 0
push 0x5b15cc
lea edx, [ebp - 0x9110]
push edx
call fcn.005286d1
jmp 0x47e66b
mov dword [ebp - 0x9114], 0
push 0x5b15cc
lea eax, [ebp - 0x9114]
push eax
call fcn.005286d1
cmp dword [ebp - 0x14], 0xffffffff
je 0x47eddf
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.WS2_32.dll_closesocket]
mov dword [ebp - 0x14], 0xffffffff
push 1
mov edx, dword [ebp + 8]
mov eax, dword [edx + 4]
push eax
call dword [sym.imp.WS2_32.dll_shutdown]
mov byte [ebp - 0x90a0], 0
push 0x1000
push 0
lea ecx, [ebp - 0x909f]
push ecx
call fcn.005281f0
add esp, 0xc
mov dword [ebp - 0x8094], 0x1000
push 0
lea edx, [ebp - 0x8094]
push edx
lea eax, [ebp - 0x90a0]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 4]
push edx
mov ecx, dword [ebp - 0x9118]
call fcn.004c7cd0
mov dword [ebp - 4], 0xffffffff
mov eax, 0x47ee52
ret
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x2c]
xor ecx, ebp
call fcn.00527aad
mov esp, ebp
pop ebp
ret 4