Function at 0x44f390
Capabilities:
Get common file path
Link many functions at runtime
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc4c
mov eax, dword [0x508164]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push str.EdpCMCore.dll
mov edi, ecx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ebx, eax
test ebx, ebx
jne 0x44f3c6
lea esi, [eax + 0x62]
mov edi, str.Load_EdpCMCore.dll_Err__d_
jmp 0x44f755
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.AcquireContext
push ebx
call esi
push str.CloseContext
push ebx
mov dword [0x50d6f0], eax
call esi
push str.SendData
push ebx
mov dword [0x50d6ec], eax
call esi
push str.SendCommand
push ebx
mov dword [0x50d6e8], eax
call esi
push str.SendCmdAndData
push ebx
mov dword [0x50d6e0], eax
call esi
push str.RecvEcho
push ebx
mov dword [0x50d6e4], eax
call esi
cmp dword [0x50d6f0], 0
mov dword [0x50d2dc], eax
je 0x44f74b
cmp dword [0x50d6ec], 0
je 0x44f74b
cmp dword [0x50d6e8], 0
je 0x44f74b
cmp dword [0x50d6e0], 0
je 0x44f74b
cmp dword [0x50d6e4], 0
je 0x44f74b
test eax, eax
je 0x44f74b
push 0x400
lea eax, [ebp - 0xc48]
push 0
push eax
call fcn.004a5f00
add esp, 0xc
lea eax, [ebp - 0x848]
push 0x104
push 0
push eax
call fcn.004a5f00
add esp, 0xc
lea eax, [ebp - 0x638]
push 0x104
push 0
push eax
call fcn.004a5f00
add esp, 0xc
lea eax, [ebp - 0x740]
push 0x104
push 0
push eax
call fcn.004a5f00
add esp, 0xc
lea eax, [ebp - 0x218]
push 0x104
push 0
push eax
call fcn.004a5f00
add esp, 0xc
lea eax, [ebp - 0x320]
push 0x104
push 0
push eax
call fcn.004a5f00
add esp, 0xc
lea eax, [ebp - 0x530]
push 0x104
push 0
push eax
call fcn.004a5f00
add esp, 0xc
lea eax, [ebp - 0x428]
push 0x104
push 0
push eax
call fcn.004a5f00
add esp, 0xc
lea eax, [ebp - 0x110]
push 0x104
push 0
push eax
call fcn.004a5f00
add esp, 0xc
lea eax, [ebp - 0x110]
push 0x104
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
push str.watchclient.ini
lea eax, [ebp - 0x110]
push 0x104
push eax
call fcn.004b9939
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x110]
add esp, 0xc
push eax
push 0x104
lea eax, [ebp - 0x848]
push eax
push 0x4ea2b7
push str.RegIP
push str.SYSTEM
call esi
lea eax, [ebp - 0x110]
push eax
push 0x104
lea eax, [ebp - 0x320]
push eax
push 0x4ea2b7
push str.UserName
push str.SYSTEM
call esi
lea eax, [ebp - 0x110]
push eax
push 0x104
lea eax, [ebp - 0x530]
push eax
push 0x4ea2b7
push str.DeptName
push str.SYSTEM
call esi
lea eax, [ebp - 0x110]
push eax
push 0x104
lea eax, [ebp - 0x428]
push eax
push 0x4ea2b7
push str.OfficeName
push str.SYSTEM
call esi
lea eax, [ebp - 0x110]
push eax
push 0x104
lea eax, [ebp - 0x638]
push eax
push 0x4ea2b7
push str.LastIPAddress
push str.LAST_ADDR
call esi
lea eax, [ebp - 0x110]
push eax
push 0x104
lea eax, [ebp - 0x740]
push eax
push 0x4ea2b7
push str.LastMACAddress
push str.LAST_ADDR
call esi
lea eax, [ebp - 0x110]
push eax
push 0x104
lea eax, [ebp - 0x218]
push eax
push 0x4ea2b7
push str.MyOnlyId
push str.SYSTEM
call esi
cmp eax, 0xffffffff
jne 0x44f695
push 0x104
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.004a5f00
add esp, 0xc
lea eax, [ebp - 0x110]
push eax
push 0x104
lea eax, [ebp - 0x218]
push eax
push 0x4ea2b7
push str.DeviceIdentifyEx
push str.SYSTEM
call esi
lea eax, [ebp - 0x320]
push eax
lea eax, [ebp - 0x428]
push eax
lea eax, [ebp - 0x530]
push eax
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x638]
push eax
lea eax, [ebp - 0x740]
push eax
push str.IPCount1_r_nMACCount1_r_nMACAddress0_s_r_nIPAddress0_s_r_nDeviceIdentify_s_r_nDeptName_s_r_nOfficeName_s_r_nUserName_s_r_nEdpRegVersion6.6.1704.2717_r_n
lea eax, [ebp - 0xc48]
push 0x400
push eax
call fcn.00429320
mov eax, dword [edi + 0x14]
add esp, 0x24
cmp dword [0x508bdc], 0
je 0x44f71e
cmp eax, 8
jb 0x44f6eb
mov edi, dword [edi]
cmp dword [0x508be0], 0x10
lea edx, [ebp - 0xc48]
mov ecx, 0x508bcc
cmovae ecx, dword [0x508bcc]
push edi
call fcn.0044ef00
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0048d8b2
mov esp, ebp
pop ebp
ret
cmp eax, 8
jb 0x44f725
mov edi, dword [edi]
push edi
lea edx, [ebp - 0xc48]
lea ecx, [ebp - 0x848]
call fcn.0044ef00
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0048d8b2
mov esp, ebp
pop ebp
ret
mov esi, 0x70
mov edi, str.GetProcAddress_EdpCMCore.dll_Err__d_
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call fcn.00407ee0
push ebx
push edi
push esi
push str.d:chenfengming_
push 1
push eax
call fcn.00407c80
mov ecx, dword [ebp - 4]
add esp, 0x18
xor ecx, ebp
or eax, 0xffffffff
pop edi
pop esi
pop ebx
call fcn.0048d8b2
mov esp, ebp
pop ebp
ret