Function at 0x40d762
Capabilities:
Read .ini file

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 0x40d783
jmp 0x40dac6
cmp dword [ebp + 0x10], 0
jne 0x40d78e
jmp 0x40dac6
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov cx, word [eax]
test ecx, ecx
jne 0x40d79f
jmp 0x40dac6
push 0x100
push 0
lea edx, [ebp - 0x218]
push edx
call fcn.00410e60
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.00410dfc
add esp, 0xc
mov edx, dword [0x42cda4]
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 0x40d805
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 0x40dabc
mov ecx, dword [ebp - 4]
and ecx, 0xffff
mov edx, dword [ebp + 0x10]
xor eax, eax
mov ax, word [edx]
cmp ecx, eax
jl 0x40d838
jmp 0x40dac6
push 0x100
push 0
lea ecx, [ebp - 0x218]
push ecx
call fcn.00410e60
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.00410dfc
add esp, 0x10
mov edx, dword [0x42cda4]
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 0x40d8bc
mov edx, dword [ebp - 0x220]
and edx, 0xffff
cmp edx, 0x1f4
jle 0x40d8e7
mov eax, dword [ebp - 0x220]
and eax, 0xffff
cmp eax, 0x3e9
jl 0x40d8e2
mov ecx, dword [ebp - 0x220]
and ecx, 0xffff
cmp ecx, 0x7530
jle 0x40d8e7
jmp 0x40d7f9
mov edx, dword [0x42cda4]
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 0x40d924
mov edx, dword [ebp - 0xc]
and edx, 0xff
cmp edx, 0xfe
jle 0x40d929
jmp 0x40d7f9
mov eax, dword [0x42cda4]
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.00410e60
add esp, 0xc
mov eax, dword [0x42cda4]
push eax
push 0x100
lea ecx, [ebp - 0x118]
push ecx
push 0
push 0x42d344
lea edx, [ebp - 0x218]
push edx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x40d997
jmp 0x40d7f9
lea eax, [ebp - 0x118]
push eax
call sub.WS2_32.dll_inet_addr
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0xffffffff
jne 0x40d9b1
jmp 0x40d7f9
push 0x100
push 0
lea ecx, [ebp - 0x118]
push ecx
call fcn.00410e60
add esp, 0xc
mov edx, dword [0x42cda4]
push edx
push 0x100
lea eax, [ebp - 0x118]
push eax
push 0x431294
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.00410e60
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.00411580
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 0x40d7f9
mov eax, dword [ebp + 0x10]
mov cx, word [ebp - 4]
mov word [eax], cx
mov esp, ebp
pop ebp
ret