I have been working reverse engineering software for more than 4 years. I am very good using reversing tool like IDAPro , OllyDBG etc..
Here is the pseudocode of one of exported function of your dll-
int __cdecl SessionInit(int, int, int, HWND hwnd, int)
if ( !hwnd )
{
if ( !a2 )
{
if ( a3 )
{
v13 = GetForegroundWindow();
if ( GetWindowTextA(v13, &String, 255) > 0 )
{
v14 = System::AnsiString::AnsiString(&v336, &String);
++v205;
LOBYTE(v15) = 58;
v16 = *(_DWORD *)v14;
v203 = 96;
v17 = System::AnsiString::AnsiString(&v337, v15);
++v205;
v18 = System::Pos(*(_DWORD *)v17, v16);
--v205;
sub_42EDCC(&v336, 2);
.................