Function at 0x41c8c0
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Initialize winsock library
Read .ini file
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x420
mov dword [ebp - 4], 0x4706b8
mov dword [ebp - 0x2d8], 0x4706ec
mov dword [ebp - 0x408], 0x470720
mov eax, dword [str.DBNODE1]
mov dword [ebp - 0x2d4], eax
mov ecx, dword [0x470758]
mov dword [ebp - 0x2d0], ecx
mov edx, dword [0x47075c]
mov dword [ebp - 0x2c0], edx
mov ax, word [0x470760]
mov word [ebp - 0x2bc], ax
mov cl, byte [0x470762]
mov byte [ebp - 0x2ba], cl
mov edx, dword [str.DBNODE]
mov dword [ebp - 0x410], edx
mov ax, word [0x470768]
mov word [ebp - 0x40c], ax
mov cl, byte [0x47076a]
mov byte [ebp - 0x40a], cl
mov edx, dword [0x47076c]
mov dword [ebp - 0x404], edx
mov ax, word [0x470770]
mov word [ebp - 0x400], ax
mov cl, byte [0x470772]
mov byte [ebp - 0x3fe], cl
mov edx, dword [str.DBPORT]
mov dword [ebp - 0x2c8], edx
mov ax, word [0x470778]
mov word [ebp - 0x2c4], ax
mov cl, byte [0x47077a]
mov byte [ebp - 0x2c2], cl
mov dword [ebp - 0x10c], 0x100
mov dword [ebp - 0x3fc], 0x100
mov dword [0x712678], 0
mov dword [0x712674], 0
push 0x22
push 0x47077c
push 0x7125f0
call fcn.0042a830
add esp, 0xc
mov dword [0x7125dc], 0x22
xor edx, edx
mov dl, byte [0x71266c]
test edx, edx
jne 0x41ca03
mov byte [0x71266c], 1
mov word [0x712670], 0
mov word [0x712810], 0x14
mov word [0x7125d4], 0x4f
mov word [0x712670], 0
mov word [0x712810], 0
push 0x712680
push 0x101
call dword [sym.imp.WSOCK32.dll_WSAStartup]
mov dword [ebp - 0x108], eax
cmp dword [ebp - 0x108], 0
je 0x41ca77
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0x420], eax
cmp dword [ebp - 0x420], 0x2726
je 0x41ca6a
cmp dword [ebp - 0x420], 0x276b
je 0x41ca66
cmp dword [ebp - 0x420], 0x276c
je 0x41ca68
jmp 0x41ca6c
jmp 0x41ca77
jmp 0x41ca77
jmp 0x41ca77
mov eax, dword [ebp - 0x108]
jmp 0x41cfa0
push 0
push 1
push 2
call dword [sym.imp.WSOCK32.dll_socket]
mov dword [0x7125d8], eax
cmp dword [0x7125d8], 0xffffffff
jne 0x41caa8
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
mov dword [ebp - 0x1b4], eax
mov eax, dword [ebp - 0x1b4]
jmp 0x41cfa0
mov word [ebp - 0x2cc], 1
mov word [ebp - 0x2ca], 1
push 4
lea ecx, [ebp - 0x1ac]
push ecx
push 0x80
push 0xffff
mov edx, dword [0x7125d8]
push edx
call dword [sym.imp.WSOCK32.dll_setsockopt]
mov dword [ebp - 0x108], eax
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
mov dword [ebp - 0x1b4], eax
cmp dword [ebp - 0x108], 0
je 0x41cb00
mov eax, dword [ebp - 0x1b4]
jmp 0x41cfa0
mov dword [ebp - 0x2e0], 0
jmp 0x41cb1b
mov eax, dword [ebp - 0x2e0]
add eax, 1
mov dword [ebp - 0x2e0], eax
cmp dword [ebp - 0x2e0], 3
jge 0x41cdfc
lea ecx, [ebp - 0x1ac]
mov dword [ebp - 0x1b8], ecx
mov dword [ebp - 0x2dc], 0
jmp 0x41cb4f
mov edx, dword [ebp - 0x2dc]
add edx, 1
mov dword [ebp - 0x2dc], edx
cmp dword [ebp - 0x2dc], 0x2d
jge 0x41cb75
mov eax, dword [ebp - 4]
add eax, dword [ebp - 0x2dc]
mov byte [eax], 0x20
mov ecx, dword [ebp - 0x408]
add ecx, dword [ebp - 0x2dc]
mov byte [ecx], 0x20
jmp 0x41cb40
mov word [0x7125e0], 2
mov dword [ebp - 0x3e4], 0
jmp 0x41cb99
mov edx, dword [ebp - 0x3e4]
add edx, 1
mov dword [ebp - 0x3e4], edx
cmp dword [ebp - 0x3e4], 3
jge 0x41cbd5
push 0x100
lea eax, [ebp - 0x3e0]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov dword [ebp - 0x108], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1b4], eax
cmp dword [ebp - 0x108], 0
je 0x41cbd3
jmp 0x41cbd5
jmp 0x41cb8a
cmp dword [ebp - 0x108], 0
jne 0x41cbe9
mov eax, dword [ebp - 0x1b4]
jmp 0x41cfa0
lea ecx, [ebp - 0x3e0]
push ecx
call fcn.0042a7b0
add esp, 4
mov dword [ebp - 0x418], eax
mov dword [ebp - 0x2dc], 0
jmp 0x41cc19
mov edx, dword [ebp - 0x2dc]
add edx, 1
mov dword [ebp - 0x2dc], edx
mov eax, dword [ebp - 0x2dc]
cmp eax, dword [ebp - 0x418]
jge 0x41cc44
mov ecx, dword [ebp - 0x418]
sub ecx, dword [ebp - 0x2dc]
movsx edx, byte [ebp + ecx - 0x3e0]
cmp edx, 0x5c
jne 0x41cc42
jmp 0x41cc44
jmp 0x41cc0a
mov eax, dword [ebp - 0x418]
sub eax, dword [ebp - 0x2dc]
lea ecx, [ebp + eax - 0x3e0]
mov dword [ebp - 0x41c], ecx
mov edx, dword [ebp - 0x41c]
add edx, 1
mov dword [ebp - 0x41c], edx
push str.mmy.ini
mov eax, dword [ebp - 0x41c]
push eax
call fcn.0042a6c0
add esp, 8
mov dword [ebp - 0x3e4], 0
jmp 0x41cc9b
mov ecx, dword [ebp - 0x3e4]
add ecx, 1
mov dword [ebp - 0x3e4], ecx
cmp dword [ebp - 0x3e4], 3
jge 0x41cce2
lea edx, [ebp - 0x3e0]
push edx
push 0x2b
mov eax, dword [ebp - 0x408]
push eax
lea ecx, [ebp - 0x104]
push ecx
lea edx, [ebp - 0x2c8]
push edx
lea eax, [ebp - 0x404]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x108], eax
cmp dword [ebp - 0x108], 0
je 0x41cce0
jmp 0x41cce2
jmp 0x41cc8c
cmp dword [ebp - 0x108], 0
jne 0x41ccf5
mov eax, 1
jmp 0x41cfa0
cmp dword [ebp - 0x108], 0
je 0x41cd28
mov ecx, dword [ebp - 0x408]
push ecx
call fcn.0042986b
add esp, 4
mov word [ebp - 0x414], ax
mov dx, word [ebp - 0x414]
push edx
call dword [sym.imp.WSOCK32.dll_htons]
mov word [0x7125e2], ax
mov dword [ebp - 0x3e4], 0
jmp 0x41cd43
mov eax, dword [ebp - 0x3e4]
add eax, 1
mov dword [ebp - 0x3e4], eax
cmp dword [ebp - 0x3e4], 3
jge 0x41cd87
lea ecx, [ebp - 0x3e0]
push ecx
push 0x2b
mov edx, dword [ebp - 4]
push edx
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0x410]
push ecx
lea edx, [ebp - 0x2c0]
push edx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x108], eax
cmp dword [ebp - 0x108], 0
je 0x41cd85
jmp 0x41cd87
jmp 0x41cd34
cmp dword [ebp - 0x108], 0
jne 0x41cd9a
mov eax, 1
jmp 0x41cfa0
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.WSOCK32.dll_inet_addr]
mov dword [0x7125e4], eax
lea ecx, [ebp - 0x1ac]
mov dword [ebp - 0x1b8], ecx
push 0x10
push 0x7125e0
mov edx, dword [0x7125d8]
push edx
call dword [sym.imp.WSOCK32.dll_connect]
mov dword [ebp - 0x108], eax
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
mov dword [ebp - 0x1b4], eax
cmp dword [ebp - 0x108], 0
jge 0x41cdec
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebp - 0x108], 0
jne 0x41cdf7
jmp 0x41cdfc
jmp 0x41cb0c
cmp dword [ebp - 0x108], 0
jge 0x41cf6e
mov dword [ebp - 0x2e0], 0
jmp 0x41ce24
mov eax, dword [ebp - 0x2e0]
add eax, 1
mov dword [ebp - 0x2e0], eax
cmp dword [ebp - 0x2e0], 3
jge 0x41cef9
mov dword [ebp - 0x3e4], 0
jmp 0x41ce4c
mov ecx, dword [ebp - 0x3e4]
add ecx, 1
mov dword [ebp - 0x3e4], ecx
cmp dword [ebp - 0x3e4], 3
jge 0x41ce90
lea edx, [ebp - 0x3e0]
push edx
push 0x2b
mov eax, dword [ebp - 4]
push eax
lea ecx, [ebp - 0x104]
push ecx
lea edx, [ebp - 0x410]
push edx
lea eax, [ebp - 0x2d4]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x108], eax
cmp dword [ebp - 0x108], 0
je 0x41ce8e
jmp 0x41ce90
jmp 0x41ce3d
cmp dword [ebp - 0x108], 0
jne 0x41cea3
mov eax, 1
jmp 0x41cfa0
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.WSOCK32.dll_inet_addr]
mov dword [0x7125e4], eax
push 0x10
push 0x7125e0
mov edx, dword [0x7125d8]
push edx
call dword [sym.imp.WSOCK32.dll_connect]
mov dword [ebp - 0x3e8], eax
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
mov dword [ebp - 0x1b4], eax
cmp dword [ebp - 0x3e8], 0
jge 0x41cee9
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebp - 0x3e8], 0
jne 0x41cef4
jmp 0x41cef9
jmp 0x41ce15
cmp dword [ebp - 0x3e8], 0
jge 0x41cf6e
mov dword [ebp - 0x3e4], 0
jmp 0x41cf1d
mov eax, dword [ebp - 0x3e4]
add eax, 1
mov dword [ebp - 0x3e4], eax
cmp dword [ebp - 0x3e4], 3
jge 0x41cf66
push 2
mov ecx, dword [0x7125d8]
push ecx
call dword [sym.imp.WSOCK32.dll_shutdown]
mov dword [ebp - 0x3ec], eax
mov edx, dword [0x7125d8]
push edx
call dword [sym.imp.WSOCK32.dll_closesocket]
mov dword [ebp - 0x3ec], eax
cmp dword [ebp - 0x3ec], 0
jne 0x41cf59
jmp 0x41cf66
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x41cf0e
mov eax, dword [ebp - 0x1b4]
jmp 0x41cfa0
mov word [0x712670], 0
mov word [0x712810], 0
push 0x22
push str.ESTAB__
push 0x7125f0
call fcn.0042a830
add esp, 0xc
mov dword [0x7125dc], 0x22
xor eax, eax
mov esp, ebp
pop ebp
ret