Function at 0x42f1cd
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x4ca6a3
call fcn.0045d02c
sub esp, 0x118
mov al, byte [esp + 0x13]
push ebx
push ebp
push esi
push edi
mov esi, ecx
xor edi, edi
lea ecx, [esp + 0x10]
push edi
mov byte [esp + 0x14], al
call fcn.00404d68
mov ebx, str.psnetwork.ini
push ebx
call fcn.0045d290
pop ecx
push eax
push ebx
lea ecx, [esp + 0x18]
call fcn.00404dfb
mov eax, dword [esp + 0x14]
mov dword [esp + 0x130], edi
cmp eax, edi
jne 0x42f222
mov eax, 0x4d3cf4
mov ebp, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push eax
lea eax, [esp + 0x28]
push 0xfff
push eax
push str.localhost
mov ebx, str.Http
push str.host
push ebx
call ebp
lea eax, [esp + 0x24]
lea ecx, [esi + 0x44]
push eax
call fcn.004bdb91
mov eax, dword [esp + 0x14]
cmp eax, edi
jne 0x42f25f
mov eax, 0x4d3cf4
push eax
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push str.share
push ebx
call edi
mov dword [esi + 0x4c], eax
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x42f27f
mov eax, 0x4d3cf4
push eax
lea eax, [esp + 0x28]
push 0xfff
push eax
push 0x50dd88
push str.path
push ebx
call ebp
lea eax, [esp + 0x24]
lea ecx, [esi + 0x48]
push eax
call fcn.004bdb91
mov eax, dword [esp + 0x14]
mov ebp, 0x4d3cf4
test eax, eax
jne 0x42f2b3
mov eax, ebp
push eax
mov ebx, str.fixed
push 0
push ebx
push str.XPSP2
call edi
push str.powerplayer.ini
push 0
push ebx
push str.WMP8
mov dword [esi + 0x58], eax
call edi
mov dword [esi + 0x50], eax
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x42f2e2
mov eax, ebp
push eax
push 1
mov ebx, str.upnp
push str.FindUPNP
push ebx
call edi
mov dword [esi + 0x68], eax
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x42f2ff
mov eax, ebp
push eax
push 1
push str.StartUPNP
push ebx
call edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x42f317
mov eax, ebp
push eax
push 0x28
mov ebx, str.Network
push str.remotepeerlimit
push ebx
call edi
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x42f334
mov eax, ebp
push eax
push 0x1e
push str.localpeerlimit
push ebx
call edi
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x42f34c
mov eax, ebp
push eax
push 0x2d
push str.totalpeerlimit
push ebx
call edi
mov dword [esi + 0x14], eax
xor ebp, ebp
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
call fcn.0045f9e1
pop ecx
call fcn.0045f9ee
cdq
mov ecx, 0x2e7c
idiv ecx
add ebp, edx
cmp ebp, 0x1fa4
jl 0x42f369
cmp ebp, 0x4a2c
jne 0x42f389
inc ebp
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x42f396
mov eax, 0x4d3cf4
push eax
push ebp
push str.tcpport
push ebx
call edi
mov word [esi + 8], ax
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x42f3b1
mov eax, 0x4d3cf4
push eax
push ebp
push str.udpport
push ebx
call edi
cmp word [esi + 8], 0
mov word [esi + 0xa], ax
jne 0x42f3ca
mov word [esi + 8], bp
test ax, ax
jne 0x42f3d3
mov word [esi + 0xa], bp
mov eax, dword [esp + 0x14]
mov ebp, 0x4d3cf4
test eax, eax
jne 0x42f3e2
mov eax, ebp
push eax
push 0
push str.fixport
push ebx
call edi
mov dword [esi + 0x18], eax
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x42f3fa
mov eax, ebp
push eax
push 0x1e
push str.simulconnectingpeer
push ebx
call edi
mov dword [esi + 0x20], eax
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x42f412
mov eax, ebp
push eax
push 1
push str.accl
push ebx
call edi
push 0xa
mov dword [esi + 0x1c], eax
pop eax
cmp dword [esi + 0x20], eax
jae 0x42f42b
mov dword [esi + 0x20], eax
push 0x5a
pop ecx
cmp dword [esi + 0x20], ecx
jbe 0x42f436
mov dword [esi + 0x20], ecx
push 0x32
pop ecx
cmp dword [esi + 0x10], ecx
jbe 0x42f441
mov dword [esi + 0x10], ecx
cmp dword [esi + 0x10], eax
jae 0x42f449
mov dword [esi + 0x10], eax
push 0x64
pop eax
cmp dword [esi + 0xc], eax
jbe 0x42f454
mov dword [esi + 0xc], eax
push 0x14
pop eax
cmp dword [esi + 0xc], eax
jae 0x42f45f
mov dword [esi + 0xc], eax
mov ecx, dword [esi + 0x10]
cmp dword [esi + 0x14], ecx
jae 0x42f46d
lea eax, [ecx + 0xf]
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0xc]
cmp dword [esi + 0x14], eax
jae 0x42f47b
lea edx, [eax + 0xa]
mov dword [esi + 0x14], edx
lea edx, [eax + ecx]
cmp dword [esi + 0x14], edx
jbe 0x42f48f
cmp ecx, eax
jbe 0x42f489
mov eax, ecx
add eax, 0xa
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x42f499
mov eax, ebp
push eax
lea eax, [esp + 0x28]
push 0x104
mov ebp, str.http:__www.ppstream.com_download.html
push eax
push ebp
mov ebx, 0x503114
push str.XPSP2URL
push ebx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [esp + 0x24]
lea ecx, [esi + 0x54]
push eax
call fcn.004bdb91
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x42f4d5
mov eax, 0x4d3cf4
push eax
lea eax, [esp + 0x28]
push 0x104
push eax
push ebp
push str.WMPURL
push ebx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [esp + 0x24]
lea ecx, [esi + 0x5c]
push eax
call fcn.004bdb91
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x42f507
mov eax, 0x4d3cf4
push eax
lea eax, [esp + 0x28]
push 0x104
push eax
push ebp
mov ebp, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push str.OptHelperURL
push ebx
call ebp
lea eax, [esp + 0x24]
lea ecx, [esi + 0x5c]
push eax
call fcn.004bdb91
mov ebx, str.powerplayer.ini
push ebx
call fcn.0045d290
pop ecx
push eax
push ebx
lea ecx, [esp + 0x18]
call fcn.00404dfb
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x42f552
mov eax, 0x4d3cf4
push eax
push 0
mov ebx, str.main
push str.AutoMiniMemory
push ebx
call edi
mov dword [esi + 0x28], eax
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x42f572
mov eax, 0x4d3cf4
push eax
push 0
push str.AutoRun
push ebx
call edi
mov dword [esi + 0x2c], eax
call fcn.004c3f08
mov eax, dword [eax + 4]
push 1
push str.PromptWhenExit
push ebx
mov ecx, eax
call fcn.004c40ed
mov dword [esi + 0x34], eax
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x42f5a7
mov eax, 0x4d3cf4
push eax
push 5
push str.AutoMiniMemTime
push ebx
call edi
mov dword [esi + 0x38], eax
push str.powerlist.ini
lea eax, [esp + 0x28]
push 0x104
push eax
push 0x502ffc
push str.mode
push str.server
call ebp
lea eax, [esp + 0x24]
push str.http
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x42f5f2
mov dword [esi + 0x3c], 1
jmp 0x42f5f6
and dword [esi + 0x3c], 0
or dword [esp + 0x130], 0xffffffff
push 1
lea ecx, [esp + 0x14]
call fcn.00404d68
mov ecx, dword [esp + 0x128]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
leave
ret