Function at 0x418642
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 0x418663
jmp 0x4189a6
cmp dword [ebp + 0x10], 0
jne 0x41866e
jmp 0x4189a6
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov cx, word [eax]
test ecx, ecx
jne 0x41867f
jmp 0x4189a6
push 0x100
push 0
lea edx, [ebp - 0x218]
push edx
call fcn.0041b260
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.0041b1f9
add esp, 0xc
mov edx, dword [0x437d0c]
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 0x4186e5
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 0x41899c
mov ecx, dword [ebp - 4]
and ecx, 0xffff
mov edx, dword [ebp + 0x10]
xor eax, eax
mov ax, word [edx]
cmp ecx, eax
jl 0x418718
jmp 0x4189a6
push 0x100
push 0
lea ecx, [ebp - 0x218]
push ecx
call fcn.0041b260
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.0041b1f9
add esp, 0x10
mov edx, dword [0x437d0c]
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 0x41879c
mov edx, dword [ebp - 0x220]
and edx, 0xffff
cmp edx, 0x1f4
jle 0x4187c7
mov eax, dword [ebp - 0x220]
and eax, 0xffff
cmp eax, 0x3e9
jl 0x4187c2
mov ecx, dword [ebp - 0x220]
and ecx, 0xffff
cmp ecx, 0x7530
jle 0x4187c7
jmp 0x4186d9
mov edx, dword [0x437d0c]
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 0x418804
mov edx, dword [ebp - 0xc]
and edx, 0xff
cmp edx, 0xfe
jle 0x418809
jmp 0x4186d9
mov eax, dword [0x437d0c]
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.0041b260
add esp, 0xc
mov eax, dword [0x437d0c]
push eax
push 0x100
lea ecx, [ebp - 0x118]
push ecx
push 0
push 0x4385cc
lea edx, [ebp - 0x218]
push edx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x418877
jmp 0x4186d9
lea eax, [ebp - 0x118]
push eax
call sub.WSOCK32.dll_inet_addr
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0xffffffff
jne 0x418891
jmp 0x4186d9
push 0x100
push 0
lea ecx, [ebp - 0x118]
push ecx
call fcn.0041b260
add esp, 0xc
mov edx, dword [0x437d0c]
push edx
push 0x100
lea eax, [ebp - 0x118]
push eax
push 0x446d20
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.0041b260
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.0041baf0
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 0x4186d9
mov eax, dword [ebp + 0x10]
mov cx, word [ebp - 4]
mov word [eax], cx
mov esp, ebp
pop ebp
ret