Function at 0x10011f83
Capabilities:
Check if file exists
Get file attributes
Get local ipv4 addresses
Get socket information
Print debug messages
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x64c
push ebx
push esi
push edi
or dword [ebp - 4], 0xffffffff
mov byte [ebp - 0x120], 0x66
and byte [ebp - 0x1e], 0
mov dword [ebp - 0xfc], 0x9c
lea eax, [ebp - 0xfc]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
push 0x100
lea eax, [ebp - 0x220]
push eax
push dword [ebp + 8]
call fcn.10011ebd
add esp, 0xc
push 0x10
push 0
lea eax, [ebp - 0x230]
push eax
call sub.MSVCRT.dll_memset
add esp, 0xc
mov dword [ebp - 0x234], 0x10
lea eax, [ebp - 0x234]
push eax
lea eax, [ebp - 0x230]
push eax
mov eax, dword [ebp + 0xc]
push dword [eax + 0xa8]
call dword [sym.imp.WS2_32.dll_getsockname]
push 4
lea eax, [ebp - 0x22c]
push eax
lea eax, [ebp - 0x54]
push eax
call sub.MSVCRT.dll_memcpy
add esp, 0xc
push 0x32
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x50]
push eax
call sub.MSVCRT.dll_memcpy
add esp, 0xc
call fcn.10011db8
mov dword [ebp - 0x60], eax
call fcn.10011e33
mov byte [ebp - 0x1e], al
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x1c], eax
push 0x104
push 0
lea eax, [ebp - 0x338]
push eax
call sub.MSVCRT.dll_memset
add esp, 0xc
push 0x104
push 0
lea eax, [ebp - 0x43c]
push eax
call sub.MSVCRT.dll_memset
add esp, 0xc
push 0x104
lea eax, [ebp - 0x338]
push eax
push dword [ebp + 0x14]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov dword [ebp - 0x440], 0x64
push 0x104
push 0
lea eax, [ebp - 0x544]
push eax
call sub.MSVCRT.dll_memset
add esp, 0xc
lea eax, [ebp - 0x338]
push eax
push str._s_lang.ini
lea eax, [ebp - 0x544]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [ebp - 0x544]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x100120f4
push 0x14
push 0
lea eax, [ebp - 0x11f]
push eax
call sub.MSVCRT.dll_memset
add esp, 0xc
and dword [ebp - 0x108], 0
jmp 0x10012194
push 0x64
push 0
lea eax, [ebp - 0x5a8]
push eax
call sub.MSVCRT.dll_memset
add esp, 0xc
lea eax, [ebp - 0x544]
push eax
push 0x64
lea eax, [ebp - 0x5a8]
push eax
push 0x10020d74
push str.name
push str.user
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x5a8]
push eax
call fcn.100116c4
pop ecx
push eax
lea eax, [ebp - 0x11f]
push eax
call sub.MSVCRT.dll_strcpy
pop ecx
pop ecx
push 0x64
push 0
lea eax, [ebp - 0x5a8]
push eax
call sub.MSVCRT.dll_memset
add esp, 0xc
lea eax, [ebp - 0x544]
push eax
push 0x64
lea eax, [ebp - 0x5a8]
push eax
push 0x10020d74
push str.icon
push str.user
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x5a8]
push eax
call dword [sym.imp.MSVCRT.dll_atoi]
pop ecx
mov dword [ebp - 0x108], eax
call fcn.10011e18
mov dword [ebp - 0x5c], eax
call fcn.10011c22
mov dword [ebp - 0x58], eax
push str.3.4.0.0
lea eax, [ebp - 0x104]
push eax
call sub.MSVCRT.dll_strcpy
pop ecx
pop ecx
push 0x64
push 0
lea eax, [ebp - 0x60c]
push eax
call sub.MSVCRT.dll_memset
add esp, 0xc
lea eax, [ebp - 0x544]
push eax
push 0x14
lea eax, [ebp - 0x60c]
push eax
push 0x10020d74
push str.Remark
push str.user
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x60c]
push eax
lea eax, [ebp - 0x18]
push eax
call sub.MSVCRT.dll_strcpy
pop ecx
pop ecx
lea eax, [ebp - 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push 0x11c
lea eax, [ebp - 0x120]
push eax
mov ecx, dword [ebp + 0xc]
call fcn.10004e20
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
leave
ret