Function at 0x495f63
Capabilities:
Check for time delay via gettickcount
Contain obfuscated stackstrings
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x59ce29
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xcc
mov dword [ebp - 0xd0], ecx
mov ecx, dword [ebp - 0xd0]
call sub.MFC42.DLL_CView::CView
mov dword [ebp - 4], 0
call fcn.0040acc0
mov eax, dword [eax + 0x20]
push eax
mov ecx, dword [0x5ffe58]
push ecx
push 1
call fcn.0040acc0
mov ecx, eax
add ecx, 0x108
call fcn.00403d90
push eax
call fcn.0040fa80
mov ecx, eax
add ecx, 0x154
call fcn.00403d90
push eax
call fcn.0040acc0
mov ecx, eax
add ecx, 0x108
call fcn.00403d90
push eax
call fcn.0040fa80
mov edx, dword [eax + 0x15c]
push edx
mov ecx, dword [ebp - 0xd0]
add ecx, 0x44
call fcn.005052a0
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0xd0]
add ecx, 0x414
call fcn.004a6510
mov ecx, dword [ebp - 0xd0]
add ecx, 0x418
call fcn.0043cbe0
push 0x20
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [ebp - 0xb4], eax
mov byte [ebp - 4], 2
cmp dword [ebp - 0xb4], 0
je 0x49605b
mov eax, dword [ebp - 0xd0]
push eax
mov ecx, dword [ebp - 0xb4]
call fcn.004e4b18
mov dword [ebp - 0xd4], eax
jmp 0x496065
mov dword [ebp - 0xd4], 0
mov ecx, dword [ebp - 0xd4]
mov dword [ebp - 0xb0], ecx
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0xb0]
push edx
mov ecx, dword [ebp - 0xd0]
add ecx, 0x41c
call fcn.004a6cc0
mov byte [ebp - 4], 3
push 0xa
mov ecx, dword [ebp - 0xd0]
add ecx, 0x424
call sub.MFC42.DLL_CMapStringToOb::CMapStringToOb
mov byte [ebp - 4], 4
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0xbc]
push ecx
mov ecx, dword [ebp - 0xd0]
add ecx, 0x458
call fcn.004778a0
mov byte [ebp - 4], 5
lea edx, [ebp - 0xc0]
push edx
lea eax, [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xd0]
add ecx, 0x468
call fcn.004778a0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xc8]
push ecx
lea edx, [ebp - 0xcc]
push edx
mov ecx, dword [ebp - 0xd0]
add ecx, 0x478
call fcn.004a6d40
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0xd0]
add ecx, 0x4a4
call fcn.00403710
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0xd0]
add ecx, 0x4c0
call fcn.0058e262
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0xd0]
add ecx, 0x4d4
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 0xa
push 0xa
mov ecx, dword [ebp - 0xd0]
add ecx, 0x4e4
call sub.MFC42.DLL_CMapStringToOb::CMapStringToOb
mov byte [ebp - 4], 0xb
push 0xa
mov ecx, dword [ebp - 0xd0]
add ecx, 0x500
call sub.MFC42.DLL_CMapStringToOb::CMapStringToOb
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0xd0]
add ecx, 0x528
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 0xd
push 0xa
mov ecx, dword [ebp - 0xd0]
add ecx, 0x54c
call sub.MFC42.DLL_CMapStringToOb::CMapStringToOb
mov byte [ebp - 4], 0xe
push 0xa
mov ecx, dword [ebp - 0xd0]
add ecx, 0x568
call sub.MFC42.DLL_CMapStringToOb::CMapStringToOb
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0xd0]
add ecx, 0x590
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0xd0]
add ecx, 0x594
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 0x11
push 0xa
mov ecx, dword [ebp - 0xd0]
add ecx, 0x59c
call sub.MFC42.DLL_CMapWordToPtr::CMapWordToPtr
mov byte [ebp - 4], 0x12
push 0xa
mov ecx, dword [ebp - 0xd0]
add ecx, 0x5c4
call sub.MFC42.DLL_CMapWordToPtr::CMapWordToPtr
mov byte [ebp - 4], 0x13
push 0xa
mov ecx, dword [ebp - 0xd0]
add ecx, 0x5e4
call sub.MFC42.DLL_CMapWordToPtr::CMapWordToPtr
mov byte [ebp - 4], 0x14
push 0xa
mov ecx, dword [ebp - 0xd0]
add ecx, 0x60c
call sub.MFC42.DLL_CMapStringToPtr::CMapStringToPtr
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0xd0]
add ecx, 0x630
call fcn.00459000
mov byte [ebp - 4], 0x16
push 0xa
mov ecx, dword [ebp - 0xd0]
add ecx, 0x674
call sub.MFC42.DLL_CMapWordToPtr::CMapWordToPtr
mov byte [ebp - 4], 0x17
mov ecx, dword [ebp - 0xd0]
add ecx, 0x6b8
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 0x18
push 0xa
mov ecx, dword [ebp - 0xd0]
add ecx, 0x6c4
call sub.MFC42.DLL_CPtrList::CPtrList
mov byte [ebp - 4], 0x19
mov ecx, dword [ebp - 0xd0]
add ecx, 0x6e4
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 0x1a
mov ecx, dword [ebp - 0xd0]
add ecx, 0x6f0
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 0x1b
mov ecx, dword [ebp - 0xd0]
add ecx, 0x6f4
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 0x1c
mov ecx, dword [ebp - 0xd0]
add ecx, 0x6f8
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 0x1d
mov ecx, dword [ebp - 0xd0]
add ecx, 0x6fc
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 0x1e
mov ecx, dword [ebp - 0xd0]
add ecx, 0x714
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 0x1f
push 0xa
mov ecx, dword [ebp - 0xd0]
add ecx, 0x720
call sub.MFC42.DLL_CMapStringToPtr::CMapStringToPtr
mov byte [ebp - 4], 0x20
push 0xa
mov ecx, dword [ebp - 0xd0]
add ecx, 0x73c
call sub.MFC42.DLL_CMapWordToPtr::CMapWordToPtr
mov byte [ebp - 4], 0x21
push 0xa
mov ecx, dword [ebp - 0xd0]
add ecx, 0x758
call sub.MFC42.DLL_CPtrList::CPtrList
mov byte [ebp - 4], 0x22
push 0xa
mov ecx, dword [ebp - 0xd0]
add ecx, 0x780
call sub.MFC42.DLL_CStringList::CStringList
mov byte [ebp - 4], 0x23
mov ecx, dword [ebp - 0xd0]
add ecx, 0x7a0
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 0x24
mov ecx, dword [ebp - 0xd0]
add ecx, 0x7a8
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 0x25
mov ecx, dword [ebp - 0xd0]
add ecx, 0x7ac
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 0x26
mov ecx, dword [ebp - 0xd0]
add ecx, 0x7b0
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 0x27
cmp dword [ebp - 0xd0], 0
je 0x4963e7
mov eax, dword [ebp - 0xd0]
add eax, 0x44
mov dword [ebp - 0xd8], eax
jmp 0x4963f1
mov dword [ebp - 0xd8], 0
mov ecx, dword [ebp - 0xd8]
push ecx
mov ecx, dword [ebp - 0xd0]
add ecx, 0x7e0
call fcn.00434024
mov byte [ebp - 4], 0x28
mov ecx, dword [ebp - 0xd0]
add ecx, 0x7f4
call fcn.00403650
push 0xa
mov ecx, dword [ebp - 0xd0]
add ecx, 0x80c
call sub.MFC42.DLL_CPtrList::CPtrList
mov byte [ebp - 4], 0x29
mov ecx, dword [ebp - 0xd0]
add ecx, 0x830
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 0x2a
mov ecx, dword [ebp - 0xd0]
add ecx, 0x834
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 0x2b
mov ecx, dword [ebp - 0xd0]
add ecx, 0x838
call sub.MFC42.DLL_CStdioFile::CStdioFile
mov byte [ebp - 4], 0x2c
mov ecx, dword [ebp - 0xd0]
add ecx, 0x84c
call sub.MFC42.DLL_CStringArray::CStringArray
mov byte [ebp - 4], 0x2d
mov ecx, dword [ebp - 0xd0]
add ecx, 0x860
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 0x2e
mov ecx, dword [ebp - 0xd0]
add ecx, 0x864
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 0x2f
mov edx, dword [ebp - 0xd0]
add edx, 0x7e0
push edx
mov ecx, dword [ebp - 0xd0]
add ecx, 0x870
call fcn.00478e60
mov byte [ebp - 4], 0x30
mov eax, dword [ebp - 0xd0]
mov dword [eax], 0x5b5d10
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x44], 0x5b5c6c
mov edx, dword [ebp - 0xd0]
mov dword [edx + 0x48], 0x5b5c4c
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x4c], 0x5b5c14
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x414], 0x5b5c08
mov edx, dword [ebp - 0xd0]
mov dword [edx + 0x418], 0x5b5c00
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x488], 0
mov byte [0x600340], 1
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x450], 0
mov edx, dword [ebp - 0xd0]
mov dword [edx + 0x774], 0
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x778], 0
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x77c], 0
mov edx, dword [ebp - 0xd0]
mov dword [edx + 0x44c], 1
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x670], 0
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x4b4], 0
mov edx, dword [ebp - 0xd0]
mov dword [edx + 0x4b0], 0
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x4b8], 0
mov ecx, dword [ebp - 0xd0]
mov word [ecx + 0x5ba], 0
mov edx, dword [ebp - 0xd0]
mov word [edx + 0x5b8], 0x8000
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x530], 0
call fcn.0040fa80
add eax, 0x154
push eax
mov ecx, dword [ebp - 0xd0]
add ecx, 0x528
call fcn.0058dfec
call fcn.0040fa80
mov ecx, dword [ebp - 0xd0]
mov edx, dword [eax + 0x158]
mov dword [ecx + 0x52c], edx
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x804], 0
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x4dc], 0
mov edx, dword [ebp - 0xd0]
mov dword [edx + 0x4e0], 0
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x828], 0
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x6a4], 1
mov edx, dword [ebp - 0xd0]
mov dword [edx + 0x5bc], 0
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x5c0], 0
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x5e0], 0
mov edx, dword [ebp - 0xd0]
mov dword [edx + 0x534], 0
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x53c], 0
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x540], 0
mov edx, dword [ebp - 0xd0]
mov dword [edx + 0x544], 0
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x548], 0
push 0x5ef128
push 0
push str.Grid
call fcn.0040acc0
mov ecx, eax
add ecx, 0x108
call fcn.00403d90
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x58c], eax
mov edx, dword [ebp - 0xd0]
mov dword [edx + 0x82c], 0
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x538], 0
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x584], 0
mov edx, dword [ebp - 0xd0]
mov dword [edx + 0x588], 0
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x600], 0
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x604], 0xffffffff
mov edx, dword [ebp - 0xd0]
mov dword [edx + 0x608], 0xffffffff
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x628], 0
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x69c], 0
mov edx, dword [ebp - 0xd0]
mov dword [edx + 0x6a0], 0
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x6a8], 0
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x6ac], 0
mov edx, dword [ebp - 0xd0]
mov dword [edx + 0x6b0], 0
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x4ac], 0
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x6bc], 0
mov edx, dword [ebp - 0xd0]
mov dword [edx + 0x6c0], 0
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x710], 0
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x71c], 0
mov ecx, dword [ebp - 0xd0]
add ecx, 0x478
call fcn.004a6e40
push 0x646464
push 3
push 0
mov ecx, dword [ebp - 0xd0]
add ecx, 0x4a4
call fcn.004038b0
push 0x5ef13c
push 0x80
lea edx, [ebp - 0x8c]
push edx
push 0x5ef148
push 0x5ef14c
call fcn.0040acc0
mov ecx, eax
add ecx, 0x108
call fcn.00403d90
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov eax, dword [ebp - 0xd0]
add eax, 0x48c
push eax
push 0x5ef15c
lea ecx, [ebp - 0x8c]
push ecx
call dword [sym.imp.MSVCRT.dll_sscanf]
add esp, 0xc
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 0x48c]
push eax
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x4a0], eax
push 0x5ef160
push 0x80
lea edx, [ebp - 0x8c]
push edx
push 0x5ef16c
push 0x5ef174
call fcn.0040acc0
mov ecx, eax
add ecx, 0x108
call fcn.00403d90
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov eax, dword [ebp - 0xd0]
add eax, 0x494
push eax
push 0x5ef180
lea ecx, [ebp - 0x8c]
push ecx
call dword [sym.imp.MSVCRT.dll_sscanf]
add esp, 0xc
push 0x5ef184
push 0x80
lea edx, [ebp - 0x8c]
push edx
push 0x5ef190
push 0x5ef198
call fcn.0040acc0
mov ecx, eax
add ecx, 0x108
call fcn.00403d90
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov eax, dword [ebp - 0xd0]
add eax, 0x490
push eax
push 0x5ef1a4
lea ecx, [ebp - 0x8c]
push ecx
call dword [sym.imp.MSVCRT.dll_sscanf]
add esp, 0xc
push 0x5ef1a8
push 0x80
lea edx, [ebp - 0x8c]
push edx
push 0x5ef1b4
push 0x5ef1bc
call fcn.0040acc0
mov ecx, eax
add ecx, 0x108
call fcn.00403d90
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov eax, dword [ebp - 0xd0]
add eax, 0x498
push eax
push 0x5ef1cc
lea ecx, [ebp - 0x8c]
push ecx
call dword [sym.imp.MSVCRT.dll_sscanf]
add esp, 0xc
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 0x498]
push eax
call fcn.00459713
add esp, 4
push 0x5ef1d0
push 0x80
lea ecx, [ebp - 0x8c]
push ecx
push 0x5ef1dc
push 0x5ef1e4
call fcn.0040acc0
mov ecx, eax
add ecx, 0x108
call fcn.00403d90
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov edx, dword [ebp - 0xd0]
add edx, 0x49c
push edx
push 0x5ef1f8
lea eax, [ebp - 0x8c]
push eax
call dword [sym.imp.MSVCRT.dll_sscanf]
add esp, 0xc
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 0x49c]
push edx
call fcn.004596c0
add esp, 4
push 0x5ef1fc
push 0
push str.NoCNC
call fcn.0040acc0
mov ecx, eax
add ecx, 0x108
call fcn.00403d90
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x524], eax
push 0x5ef210
push 0
push str.OldAucolDebugger
call fcn.0040acc0
mov ecx, eax
add ecx, 0x108
call fcn.00403d90
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov edx, dword [ebp - 0xd0]
mov dword [edx + 0x718], eax
push 0x5ef230
push 1
push str.WaitForConnection
call fcn.0040acc0
mov ecx, eax
add ecx, 0x108
call fcn.00403d90
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
test eax, eax
je 0x496b74
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x90], eax
mov ecx, dword [ebp - 0xd0]
add ecx, 0x44
call fcn.00507eb4
test eax, eax
jne 0x496b74
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x90]
cmp eax, dword [0x5ef0fc]
jae 0x496b74
push 1
push 0
push 0
push 0
lea eax, [ebp - 0xac]
push eax
call dword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x496b72
cmp dword [ebp - 0xa8], 0x12
jne 0x496b58
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
jmp 0x496c41
lea ecx, [ebp - 0xac]
push ecx
call dword [sym.imp.USER32.dll_TranslateMessage]
lea edx, [ebp - 0xac]
push edx
call dword [sym.imp.USER32.dll_DispatchMessageA]
jmp 0x496b03
mov eax, dword [ebp - 0xd0]
cmp dword [eax + 0x524], 0
jne 0x496bab
mov ecx, dword [ebp - 0xd0]
add ecx, 0x44
call fcn.00507eb4
test eax, eax
jne 0x496bab
push 0
push 0
push str.WS32_not_connecting_to_Fapi___Exit
call sub.MFC42.DLL_AfxMessageBox
push 0
call dword [sym.imp.MSVCRT.dll__exit]
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x704], 0
mov edx, dword [ebp - 0xd0]
mov dword [edx + 0x708], 0
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x700], 0
push 0x5ef274
mov ecx, dword [ebp - 0xd0]
add ecx, 0x6fc
call fcn.0058e0f4
push 0x5ef27c
push 0
push str.InitMode
push 0x5ef294
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x86c], eax
mov edx, dword [ebp - 0xd0]
push edx
mov eax, dword [ebp - 0xd0]
push eax
call fcn.0040acc0
mov ecx, eax
add ecx, 0xd8
call fcn.004a64c0
mov ecx, dword [ebp - 0xd0]
mov byte [ecx + 0x7e8], 0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret