Function at 0x405f00
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x59f3ac
mov eax, dword fs:[0]
push eax
push ecx
push esi
push edi
mov eax, dword [0x601018]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 4
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
test eax, eax
je 0x405f3c
mov dword [eax], 0
jmp 0x405f3e
xor eax, eax
lea esi, [ebx + 0x1514]
push 0x400
push esi
mov dword [ebx + 0x2d1c], eax
call dword [sym.imp.MSVCR100.dll__getcwd]
lea eax, [ebx + 0x1114]
push eax
push 0x5cc7f4
push esi
lea edi, [ebx + 0x1914]
push str._s_s_s.ini
mov esi, 0x400
call fcn.00401880
lea esi, [ebx + 0x1914]
call fcn.005058c0
push esi
push 0x5c7d4c
mov esi, 0x400
mov edi, 0x60d738
call fcn.00401880
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
add esp, 0x20
lea esi, [ebx + 0x1914]
push esi
push 0x400
lea eax, [ebx + 0x251c]
push eax
lea eax, [ebx + 0x900]
push eax
push str.display
push str.Program
call edi
push esi
push 0x400
lea ecx, [ebx + 0x291c]
push ecx
lea edx, [ebx + 0xd00]
push edx
push str.model
push str.Program
call edi
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push esi
push 0x1e
push str.heartbeat
push str.Program
call edi
push esi
push 0
push str.logsizelimit
push str.Program
mov dword [ebx + 0x1110], eax
call edi
push esi
push 1
push str.logrollover
push str.Program
mov dword [ebx + 0x1d14], eax
call edi
push esi
mov dword [ebx + 0x1d18], eax
mov eax, dword [ebx + 0x1d14]
push eax
push str.sizelimit
push 0x5c7d9c
call edi
mov ecx, dword [ebx + 0x1d18]
push esi
push ecx
push str.rollover
push 0x5c7d9c
mov dword [ebx + 0x1d14], eax
call edi
push esi
push 0
push str.verbose
push 0x5c7d9c
mov dword [ebx + 0x1d18], eax
call edi
mov dword [0x61025c], eax
push esi
push 0
push str.quiet
push 0x5c7d9c
call edi
push esi
push 0x400
lea edi, [ebx + 0x1d1c]
push edi
push 0x5bc564
push str.Path
push 0x5c7d9c
mov dword [0x610260], eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
cmp byte [edi], 0
jne 0x4060cd
push 0x5cc7f4
lea eax, [ebx + 0x1514]
push eax
push str._s_slog
mov esi, 0x400
call fcn.00401880
add esp, 0xc
lea eax, [ebx + 0x1114]
push eax
push 0x5cc7f4
lea eax, [ebx + 0x1d1c]
push eax
lea edi, [ebx + 0x211c]
push 0x5c7dcc
mov esi, 0x400
call fcn.00401880
add esp, 0x10
lea edx, [ebx + 0x1d1c]
call fcn.0042c390
xor edi, edi
cmp dword [ebp + 8], edi
je 0x40613f
push 8
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
mov esi, eax
add esp, 4
cmp esi, edi
je 0x406137
mov eax, 0x610240
push esi
mov dword [esi], vtable.LogImplementation.0
mov dword [esi + 4], eax
call fcn.00504490
mov dword [esi], vtable.LogScreen.0
jmp 0x406139
xor esi, esi
mov dword [ebx + 0x2d20], esi
push 0x478
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
mov dword [ebp + 8], eax
mov dword [ebp - 4], edi
cmp eax, edi
je 0x40619c
sub esp, 0x1c
mov esi, esp
lea eax, [ebx + 0x211c]
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], edi
mov dword [ebp - 0x10], esp
mov byte [esi], 0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406175
sub eax, edx
mov edi, eax
lea eax, [ebx + 0x211c]
call fcn.00402fe0
mov esi, dword [ebp + 8]
push 0x610240
call fcn.00504a20
mov ecx, eax
jmp 0x40619e
xor ecx, ecx
or esi, 0xffffffff
mov dword [ebp - 4], esi
mov eax, dword [ebx + 0x1d14]
cdq
mov dword [ebx + 0x2d24], ecx
mov dword [ecx + 0x468], eax
mov dword [ecx + 0x46c], edx
mov eax, dword [ebx + 0x2d24]
mov edx, dword [ebx + 0x1d18]
mov dword [eax + 0x45c], edx
mov dword [eax + 0x460], esi
push str.7.2.0.19
lea eax, [ebx + 0x251c]
push eax
push 0x5c7dec
mov ecx, 0x610240
call fcn.00504670
add esp, 0xc
push 0x5c7df4
push 0x5c7d4c
mov ecx, 0x610240
call fcn.00504670
add esp, 8
cmp dword [ebx + 0x8f8], 0
je 0x406222
mov ecx, str.client.ini
call fcn.00505660
call fcn.00506170
cmp dword [ebx + 0x8fc], 0
je 0x40623a
mov ecx, str.server.ini
call fcn.00505660
call fcn.00505200
call dword [sym.imp.SSLEAY32.dll_Ordinal_74]
call dword [sym.imp.LIBEAY32.dll_Ordinal_233]
call dword [sym.imp.SSLEAY32.dll_Ordinal_183]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4