Function at 0x40ae50
Capabilities:
Link many functions at runtime

Disassembly:
mov eax, dword [esp + 4]
push esi
push eax
mov esi, ecx
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [esi], eax
test eax, eax
je 0x40b031
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.PPInit
push eax
call edi
mov ecx, dword [esi]
push str.PPInit2
push ecx
mov dword [esi + 4], eax
call edi
mov edx, dword [esi]
push str.PPClose
push edx
mov dword [esi + 8], eax
call edi
mov dword [esi + 0xc], eax
mov eax, dword [esi]
push str.PPSetConfig
push eax
call edi
mov ecx, dword [esi]
push str.PPGetConfig
push ecx
mov dword [esi + 0x10], eax
call edi
mov edx, dword [esi]
push str.PPDownload
push edx
mov dword [esi + 0x14], eax
call edi
mov dword [esi + 0x18], eax
mov eax, dword [esi]
push str.PPStopTask
push eax
call edi
mov ecx, dword [esi]
push str.PPRestart
push ecx
mov dword [esi + 0x1c], eax
call edi
mov edx, dword [esi]
push str.PPRemoveTask
push edx
mov dword [esi + 0x20], eax
call edi
mov dword [esi + 0x24], eax
mov eax, dword [esi]
push str.PPStopSeed
push eax
call edi
mov ecx, dword [esi]
push str.PPCloseHandle
push ecx
mov dword [esi + 0x28], eax
call edi
mov edx, dword [esi]
push str.PPQueryTask
push edx
mov dword [esi + 0x2c], eax
call edi
mov dword [esi + 0x30], eax
mov eax, dword [esi]
push str.PPQueryTaskEx
push eax
call edi
mov ecx, dword [esi]
push str.PPStartTask
push ecx
mov dword [esi + 0x34], eax
call edi
mov edx, dword [esi]
push str.PPStartTaskEx
push edx
mov dword [esi + 0x38], eax
call edi
mov dword [esi + 0x3c], eax
mov eax, dword [esi]
push str._GetTasks
push eax
call edi
mov dword [esi + 0x44], eax
mov ecx, dword [esi]
push str._StartRun
push ecx
call edi
mov edx, dword [esi]
push str._StopRun
push edx
mov dword [esi + 0x48], eax
call edi
mov dword [esi + 0x4c], eax
mov eax, dword [esi]
push str._Run
push eax
call edi
mov ecx, dword [esi]
push str._EnableP2P
push ecx
mov dword [esi + 0x50], eax
call edi
mov edx, dword [esi]
push str._SetKeep
push edx
mov dword [esi + 0x54], eax
call edi
mov dword [esi + 0x58], eax
mov eax, dword [esi]
push str._SetKeepEx
push eax
call edi
mov ecx, dword [esi]
push str._IsStopped
push ecx
mov dword [esi + 0x5c], eax
call edi
mov edx, dword [esi]
push str._PPQueryTask2
push edx
mov dword [esi + 0x60], eax
call edi
mov dword [esi + 0x64], eax
mov eax, dword [esi]
push str.__PPSetModulePath2
push eax
call edi
mov ecx, dword [esi]
push str.StartLan
push ecx
mov dword [esi + 0x68], eax
call edi
mov edx, dword [esi]
push str.StopLan
push edx
mov dword [esi + 0x6c], eax
call edi
mov dword [esi + 0x70], eax
mov eax, dword [esi]
push str._PPQueryIPPort
push eax
call edi
mov ecx, dword [esi]
push str._PPSetLocalLog
push ecx
mov dword [esi + 0x74], eax
call edi
mov edx, dword [esi]
push str._P2SPUpdateRegInfo
push edx
mov dword [esi + 0x78], eax
call edi
mov dword [esi + 0x7c], eax
mov eax, dword [esi]
push str._P2SPCheckProxy
push eax
call edi
mov ecx, dword [esi]
push str._P2SPCancelCheckProxy
push ecx
mov dword [esi + 0x80], eax
call edi
mov dword [esi + 0x84], eax
push str._P2SPSetOption
mov edx, dword [esi]
push edx
call edi
mov dword [esi + 0x88], eax
mov eax, dword [esi]
push str.PPSetOption
push eax
call edi
mov dword [esi + 0x40], eax
pop edi
mov eax, esi
pop esi
ret 4