Function at 0x4145b2
Capabilities:
Read .ini file
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x220
mov word [ebp - 4], 0
mov dword [ebp - 0x14], 0
cmp dword [ebp + 0xc], 0
jne 0x4145d3
jmp 0x414916
cmp dword [ebp + 0x10], 0
jne 0x4145de
jmp 0x414916
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov cx, word [eax]
test ecx, ecx
jne 0x4145ef
jmp 0x414916
push 0x100
push 0
lea edx, [ebp - 0x218]
push edx
call fcn.00421180
add esp, 0xc
mov eax, dword [ebp + 8]
and eax, 0xff
push eax
push str.NodeList_dCount
lea ecx, [ebp - 0x218]
push ecx
call fcn.0042018d
add esp, 0xc
mov edx, dword [0x45b81c]
push edx
push 0
lea eax, [ebp - 0x218]
push eax
push str.general
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov word [ebp - 8], ax
mov word [ebp - 0x10], 1
jmp 0x414655
mov cx, word [ebp - 0x10]
add cx, 1
mov word [ebp - 0x10], cx
mov edx, dword [ebp - 0x10]
and edx, 0xffff
mov eax, dword [ebp - 8]
and eax, 0xffff
cmp edx, eax
jg 0x41490c
mov ecx, dword [ebp - 4]
and ecx, 0xffff
mov edx, dword [ebp + 0x10]
xor eax, eax
mov ax, word [edx]
cmp ecx, eax
jl 0x414688
jmp 0x414916
push 0x100
push 0
lea ecx, [ebp - 0x218]
push ecx
call fcn.00421180
add esp, 0xc
mov edx, dword [ebp - 0x10]
and edx, 0xffff
push edx
mov eax, dword [ebp + 8]
and eax, 0xff
push eax
push str.NodeList_d__d
lea ecx, [ebp - 0x218]
push ecx
call fcn.0042018d
add esp, 0x10
mov edx, dword [0x45b81c]
push edx
push 0
push str.NodeCode
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov word [ebp - 0x220], ax
mov ecx, dword [ebp - 0x220]
and ecx, 0xffff
cmp ecx, 1
jl 0x41470c
mov edx, dword [ebp - 0x220]
and edx, 0xffff
cmp edx, 0x1f4
jle 0x414737
mov eax, dword [ebp - 0x220]
and eax, 0xffff
cmp eax, 0x3e9
jl 0x414732
mov ecx, dword [ebp - 0x220]
and ecx, 0xffff
cmp ecx, 0x7530
jle 0x414737
jmp 0x414649
mov edx, dword [0x45b81c]
push edx
push 0
push str.OfficeCode
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov byte [ebp - 0xc], al
mov ecx, dword [ebp - 0xc]
and ecx, 0xff
cmp ecx, 1
jl 0x414774
mov edx, dword [ebp - 0xc]
and edx, 0xff
cmp edx, 0xfe
jle 0x414779
jmp 0x414649
mov eax, dword [0x45b81c]
push eax
push 0x13c4
push str.CIPPort
lea ecx, [ebp - 0x218]
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov word [ebp - 0x21c], ax
push 0x100
push 0
lea edx, [ebp - 0x118]
push edx
call fcn.00421180
add esp, 0xc
mov eax, dword [0x45b81c]
push eax
push 0x100
lea ecx, [ebp - 0x118]
push ecx
push 0
push 0x45bcbc
lea edx, [ebp - 0x218]
push edx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x4147e7
jmp 0x414649
lea eax, [ebp - 0x118]
push eax
call sub.WSOCK32.dll_inet_addr
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0xffffffff
jne 0x414801
jmp 0x414649
push 0x100
push 0
lea ecx, [ebp - 0x118]
push ecx
call fcn.00421180
add esp, 0xc
mov edx, dword [0x45b81c]
push edx
push 0x100
lea eax, [ebp - 0x118]
push eax
push 0x46a96c
push str.NodeName
lea ecx, [ebp - 0x218]
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0x2b
push 0
mov edx, dword [ebp - 4]
and edx, 0xffff
imul edx, edx, 0x2b
mov eax, dword [ebp + 0xc]
add eax, edx
push eax
call fcn.00421180
add esp, 0xc
mov ecx, dword [ebp - 4]
and ecx, 0xffff
imul ecx, ecx, 0x2b
mov edx, dword [ebp + 0xc]
mov ax, word [ebp - 0x21c]
mov word [edx + ecx + 8], ax
mov ecx, dword [ebp - 4]
and ecx, 0xffff
imul ecx, ecx, 0x2b
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x18]
mov dword [edx + ecx + 4], eax
mov ecx, dword [ebp - 4]
and ecx, 0xffff
imul ecx, ecx, 0x2b
mov edx, dword [ebp + 0xc]
mov ax, word [ebp - 0x220]
mov word [edx + ecx + 2], ax
push 0x1e
lea ecx, [ebp - 0x118]
push ecx
mov edx, dword [ebp - 4]
and edx, 0xffff
imul edx, edx, 0x2b
mov eax, dword [ebp + 0xc]
lea ecx, [eax + edx + 0xa]
push ecx
call fcn.004204d0
add esp, 0xc
mov edx, dword [ebp - 4]
and edx, 0xffff
imul edx, edx, 0x2b
mov eax, dword [ebp + 0xc]
mov cl, byte [ebp + 8]
mov byte [eax + edx], cl
mov edx, dword [ebp - 4]
and edx, 0xffff
imul edx, edx, 0x2b
mov eax, dword [ebp + 0xc]
mov cl, byte [ebp - 0xc]
mov byte [eax + edx + 1], cl
mov dx, word [ebp - 4]
add dx, 1
mov word [ebp - 4], dx
jmp 0x414649
mov eax, dword [ebp + 0x10]
mov cx, word [ebp - 4]
mov word [eax], cx
mov esp, ebp
pop ebp
ret