Function at 0x42e405
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x500114
call fcn.00484660
sub esp, 0x14c
push ebx
push esi
push edi
push 1
push dword [ebp + 0xc]
mov dword [ebp - 0x20], ecx
lea ecx, [ebp - 0x38]
call sub.MFC42.DLL_CSingleLock::CSingleLock
xor ebx, ebx
cmp dword [ebp + 0x10], 1
mov dword [ebp - 4], ebx
mov eax, str.tcpbackupserver
je 0x42e43d
mov eax, str.udpbackupserver
push eax
lea ecx, [ebp - 0x1c]
call sub.MFC42.DLL_CString::CString_3
lea eax, [ebp + 0xc]
mov byte [ebp - 4], 1
push eax
call dword [sym.imp.BasicCtrlDll.dll_class_CString___cdecl_GetExeFolder_void_]
mov dword [esp], str.loginsl.dat
push eax
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 2
push eax
call sub.MFC42.DLL_operator_3
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], 4
call sub.MFC42.DLL_CString::CString
push dword [ebp - 0x18]
push ebx
push str.ServerCount
push dword [ebp - 0x1c]
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov esi, 0x571ec8
lea edi, [ebp - 0x58]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
push 6
mov dword [ebp - 0x28], eax
pop ecx
xor eax, eax
lea edi, [ebp - 0x51]
push 1
rep stosd dword es:[edi], eax
stosb byte es:[edi], al
pop eax
cmp dword [ebp - 0x28], eax
mov dword [ebp - 0x14], eax
jl 0x42e5fe
mov edi, 0x51a314
lea eax, [ebp - 0x52]
push 0xa
push eax
push dword [ebp - 0x14]
call dword [sym.imp.MSVCRT.dll__itoa]
add esp, 0xc
lea eax, [ebp - 0x158]
push dword [ebp - 0x18]
push 0x100
push eax
lea eax, [ebp - 0x58]
push edi
push eax
push dword [ebp - 0x1c]
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
cmp byte [ebp - 0x158], bl
mov byte [ebp - 0x59], bl
je 0x42e5ef
lea eax, [ebp - 0x158]
lea ecx, [ebp - 0x10]
push eax
call sub.MFC42.DLL_CString::CString_3
push edi
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], 5
call sub.MFC42.DLL_CString::CString_3
push 0x3a
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 6
call sub.MFC42.DLL_CString::Find_1
mov esi, eax
cmp esi, 0xffffffff
jne 0x42e543
lea eax, [ebp - 0x10]
lea ecx, [ebp + 0xc]
push eax
call sub.MFC42.DLL_CString::operator_1
mov esi, dword [ebp + 0x10]
dec esi
neg esi
sbb esi, esi
and esi, 0x1ef0
add esi, 0x50
jmp 0x42e593
lea eax, [ebp - 0x2c]
push esi
push eax
lea ecx, [ebp - 0x10]
call sub.MFC42.DLL_CString::Left
push eax
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], 7
call sub.MFC42.DLL_CString::operator_1
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 6
call sub.MFC42.DLL_CString::CString
inc esi
lea eax, [ebp - 0x24]
push esi
push eax
lea ecx, [ebp - 0x10]
call sub.MFC42.DLL_CString::Mid_1
push dword [ebp - 0x24]
mov byte [ebp - 4], 8
call dword [sym.imp.MSVCRT.dll_atoi]
pop ecx
mov esi, eax
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 6
call sub.MFC42.DLL_CString::CString
movzx esi, si
mov ecx, dword [ebp - 0x20]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0042e1da
test al, al
je 0x42e5b4
push esi
push dword [ebp + 0xc]
push 0x571e8c
jmp 0x42e5cf
push dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0042e26d
push esi
push dword [ebp + 0xc]
push 0x571e54
call fcn.00412ef3
add esp, 0xc
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], 5
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 4
call sub.MFC42.DLL_CString::CString
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x28]
jle 0x42e4b5
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], bl
call sub.MFC42.DLL_CString::CString
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x38]
call sub.MFC42.DLL_CSingleLock::Unlock
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 0xc