Function at 0x41742d
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x4e51b0
call fcn.004e1580
sub esp, 0x174
push esi
push edi
call fcn.004cba40
test eax, eax
je 0x4174b3
call fcn.004cbba4
mov esi, eax
xor edi, edi
cmp esi, edi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x80], esi
je 0x417461
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov dword [ebp - 4], edi
mov dword [ebp - 0x1c], edi
mov eax, dword [esi]
lea ecx, [ebp - 0x1c]
push ecx
push 0x509390
push esi
mov byte [ebp - 4], 1
call dword [eax]
cmp dword [ebp - 0x1c], edi
je 0x4174a5
mov dword [ebp - 0x14], edi
mov eax, dword [esi]
lea ecx, [ebp - 0x14]
push ecx
push esi
mov byte [ebp - 4], 2
call dword [eax + 0x28]
cmp dword [ebp - 0x14], edi
jne 0x4174ba
mov eax, dword [ebp - 0x1c]
and byte [ebp - 4], 0
cmp eax, edi
je 0x4174a5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
or dword [ebp - 4], 0xffffffff
cmp esi, edi
je 0x4174b3
mov eax, dword [esi]
push esi
call dword [eax + 8]
xor eax, eax
jmp 0x417af5
push ebx
call fcn.004cbbb0
lea eax, [ebp - 0x3c]
push 3
push eax
call fcn.0041aab4
pop ecx
pop ecx
push str.history6.dat
push eax
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 3
push eax
call sub.MFC42.DLL_operator_2
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 5
call sub.MFC42.DLL_CString::CString
push 0xffffffffffffffff
push dword [ebp - 0x48]
call fcn.0040294f
pop ecx
mov dword [ebp - 0x3c], eax
pop ecx
mov eax, dword [ebp - 0x14]
push dword [ebp - 0x3c]
mov byte [ebp - 4], 6
mov ecx, dword [eax]
push eax
call dword [ecx + 0x10]
call fcn.00430e04
mov ebx, eax
push 5
mov esi, str.Connect
push str.WaitSeconds
push esi
mov ecx, ebx
call fcn.0043152b
push 5
push str.MaxTaskCount
push esi
mov ecx, ebx
mov dword [ebp - 0x54], eax
call fcn.0043152b
push 0xf
push str.RetryTimes
push esi
mov ecx, ebx
mov dword [ebp - 0x78], eax
call fcn.0043152b
push 1
push str.LimitRetryTimes
push esi
mov ecx, ebx
mov dword [ebp - 0x68], eax
call fcn.00431542
push edi
push str.LimitSpeed
push esi
mov ecx, ebx
mov dword [ebp - 0x7c], eax
call fcn.00431542
push 0xc8
push str.MaxSpeed
push esi
mov ecx, ebx
mov dword [ebp - 0x50], eax
call fcn.0043152b
push 0x64
push str.Connections
push esi
mov ecx, ebx
mov dword [ebp - 0x44], eax
call fcn.0043152b
push 0x23
push str.MaxTaskThreads
mov dword [ebp - 0x58], eax
push str.TaskDefaultSettings
mov ecx, ebx
call fcn.0043152b
push 5
push str.MoveToBottomMinute
push str.Other
mov ecx, ebx
mov dword [ebp - 0x70], eax
call fcn.0043152b
push edi
push str.LimitUploadSpeed
push esi
mov ecx, ebx
mov dword [ebp - 0x60], eax
call fcn.00431542
push dword [0x4fd398]
mov ecx, ebx
mov dword [ebp - 0x5c], eax
push str.MaxUploadSpeed
push esi
call fcn.0043152b
push edi
push str.LimitMaxGlobalConnection
push esi
mov ecx, ebx
mov dword [ebp - 0x64], eax
call fcn.00431542
push 0x100
push str.MaxGlobalConnection
push esi
mov ecx, ebx
mov dword [ebp - 0x6c], eax
call fcn.0043152b
push dword [0x4fd3c4]
mov ecx, ebx
mov dword [ebp - 0x74], eax
push str.TCPPort
push esi
call fcn.0043152b
cmp eax, edi
mov dword [ebp - 0x18], eax
jle 0x417631
cmp eax, 0xffff
jl 0x417638
mov dword [ebp - 0x18], 0x50
push dword [0x4fd3d0]
mov ecx, ebx
push str.UDPPort
push esi
call fcn.0043152b
cmp eax, edi
mov dword [ebp - 0x10], eax
jle 0x417659
cmp eax, 0xffff
jl 0x417660
mov dword [ebp - 0x10], 0x3a98
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], edi
cmp eax, edi
je 0x417678
mov ecx, dword [eax]
lea edx, [ebp - 0x2c]
push edx
push 0x52ad00
push eax
call dword [ecx]
cmp dword [ebp - 0x2c], edi
mov byte [ebp - 4], 7
mov esi, str.BtGenericSettings
je 0x4176d9
push dword [0x4fd5ac]
mov ecx, ebx
push str.BtUpDuration
push esi
call fcn.0043152b
mov ecx, 0x708
cmp eax, ecx
jge 0x4176a7
or ecx, 0xffffffff
jmp 0x4176cf
mov edx, 0xe10
cmp eax, edx
jl 0x4176cf
cmp eax, 0x1c20
jge 0x4176bb
mov ecx, edx
jmp 0x4176cf
mov ecx, 0x4650
xor edx, edx
cmp eax, ecx
setge dl
dec edx
and dx, 0xd5d0
add ecx, edx
mov eax, dword [ebp - 0x2c]
push ecx
push eax
mov edx, dword [eax]
call dword [edx + 0x4c]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x40], edi
cmp eax, edi
je 0x4176f1
mov ecx, dword [eax]
lea edx, [ebp - 0x40]
push edx
push 0x52acf0
push eax
call dword [ecx]
mov eax, dword [ebp - 0x40]
mov byte [ebp - 4], 8
cmp eax, edi
je 0x417704
mov ecx, dword [eax]
push 0xffffffffffffffff
push eax
call dword [ecx + 0x68]
mov eax, dword [ebp - 0x14]
push dword [ebp - 0x78]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x18]
mov eax, dword [ebp - 0x14]
push dword [ebp - 0x54]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x20]
mov eax, dword [ebp - 0x14]
push dword [ebp - 0x58]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x48]
mov eax, dword [ebp - 0x14]
push dword [ebp - 0x70]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x58]
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x14]
imul eax, eax, 0x3c
mov edx, dword [ecx]
push eax
push ecx
call dword [edx + 0x50]
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x7c], edi
mov ecx, dword [eax]
je 0x417753
push dword [ebp - 0x68]
jmp 0x417755
push 0xffffffffffffffff
push eax
call dword [ecx + 0x28]
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x50], edi
mov ecx, dword [eax]
je 0x417768
push dword [ebp - 0x44]
jmp 0x417769
push edi
push eax
call dword [ecx + 0x38]
push dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
push dword [ebp - 0x18]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x14]
mov dword [ebp - 0x28], edi
mov eax, dword [ebp - 0x20]
lea edx, [ebp - 0x28]
push edx
push eax
mov ecx, dword [eax]
mov byte [ebp - 4], 9
call dword [ecx + 0x34]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x34], edi
cmp eax, edi
je 0x4177a8
mov ecx, dword [eax]
lea edx, [ebp - 0x34]
push edx
push 0x52ace0
push eax
call dword [ecx]
push 1
push 0x4fd5d0
push esi
mov ecx, ebx
mov byte [ebp - 4], 0xa
call fcn.00431542
mov ecx, dword [ebp - 0x34]
mov dword [0x52a9d0], eax
push eax
push ecx
mov edx, dword [ecx]
call dword [edx + 0x6c]
push 1
push 0x4fd5d4
push esi
mov ecx, ebx
call fcn.00431542
mov ecx, dword [ebp - 0x34]
mov dword [0x52a9d4], eax
push eax
push ecx
mov edx, dword [ecx]
call dword [edx + 0x70]
lea eax, [ebp - 0x4c]
push edi
push eax
call fcn.004d13d5
lea eax, [ebp - 0x44]
push edi
push eax
mov byte [ebp - 4], 0xb
call fcn.004d15e8
add esp, 0x10
push str.id.dat
push eax
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 0xc
push eax
call sub.MFC42.DLL_operator_2
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0xe
call sub.MFC42.DLL_CString::CString
and byte [ebp - 0x180], 0
push 0x3f
pop ecx
xor eax, eax
lea edi, [ebp - 0x17f]
push dword [ebp - 0x30]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x180]
push 0xff
push eax
push str.0000
push str.PartnerID
push str.AppSettings
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x180]
lea ecx, [ebp - 0x30]
push eax
call sub.MFC42.DLL_CString::operator_2
xor edi, edi
mov dword [ebp - 0x24], edi
mov esi, dword [ebp - 0x20]
lea ecx, [ebp - 0x24]
push ecx
push esi
mov eax, dword [esi]
mov byte [ebp - 4], 0xf
call dword [eax + 0x30]
cmp dword [ebp - 0x24], edi
je 0x4178d3
push 0xffffffffffffffff
push dword [ebp - 0x30]
call fcn.0040294f
mov dword [ebp - 0x18], eax
push 0xffffffffffffffff
mov byte [ebp - 4], 0x10
push dword [ebp - 0x4c]
call fcn.0040294f
add esp, 0x10
mov dword [ebp - 0x10], eax
push dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
mov byte [ebp - 4], 0x11
push dword [ebp - 0x10]
mov ecx, dword [eax]
push 4
push eax
call dword [ecx + 0x18]
push dword [ebp - 0x10]
mov edi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call edi
push dword [ebp - 0x18]
mov byte [ebp - 4], 0xf
call edi
xor edi, edi
cmp dword [ebp - 0x5c], edi
je 0x41790b
mov dword [ebp - 0x10], edi
mov eax, dword [esi]
lea ecx, [ebp - 0x10]
push ecx
push esi
mov byte [ebp - 4], 0x12
call dword [eax + 0x30]
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x10]
shl eax, 0xa
mov edx, dword [ecx]
push eax
push edi
push ecx
call dword [edx + 0x2c]
mov eax, dword [ebp - 0x10]
mov byte [ebp - 4], 0xf
cmp eax, edi
je 0x41790b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp dword [ebp - 0x6c], edi
je 0x417973
mov dword [ebp - 0x10], edi
mov eax, dword [esi]
lea ecx, [ebp - 0x10]
push ecx
push esi
mov byte [ebp - 4], 0x13
call dword [eax + 0x30]
mov eax, dword [ebp - 0x10]
cmp eax, edi
je 0x417965
mov dword [ebp - 0x18], edi
mov ecx, dword [eax]
lea edx, [ebp - 0x18]
push edx
push 0x52acb0
push eax
mov byte [ebp - 4], 0x14
call dword [ecx]
cmp eax, edi
mov eax, dword [ebp - 0x18]
jl 0x417954
cmp eax, edi
je 0x417954
push dword [ebp - 0x74]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x40]
mov eax, dword [ebp - 0x18]
cmp eax, edi
mov byte [ebp - 4], 0x13
je 0x417962
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x10]
cmp eax, edi
mov byte [ebp - 4], 0xf
je 0x417973
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push edi
mov edi, str.General
push str.DiskCacheTotalSize
push edi
mov ecx, ebx
call fcn.0043152b
mov esi, eax
cmp esi, 4
jb 0x417995
cmp esi, 0x100
jbe 0x41799f
call fcn.00426919
mov esi, eax
shr esi, 0x14
push dword [0x4fd014]
mov ecx, ebx
push str.DiskCacheFlushSize
push edi
call fcn.0043152b
mov edi, eax
mov eax, esi
and al, 0xfe
pop ebx
cmp eax, 0x20
jbe 0x4179c3
push 0x10
pop eax
jmp 0x4179c7
mov eax, esi
shr eax, 1
cmp edi, 2
jb 0x4179d0
cmp edi, eax
jbe 0x4179d2
mov edi, eax
mov eax, dword [ebp - 0x28]
and dword [ebp - 0x38], 0
test eax, eax
je 0x4179eb
mov ecx, dword [eax]
lea edx, [ebp - 0x38]
push edx
push 0x52a608
push eax
call dword [ecx]
mov eax, dword [ebp - 0x38]
mov byte [ebp - 4], 0x15
test eax, eax
je 0x417a13
mov ecx, dword [eax]
shl esi, 0x14
push esi
push eax
call dword [ecx + 0xec]
mov eax, dword [ebp - 0x38]
shl edi, 0x14
mov ecx, dword [eax]
push edi
push eax
call dword [ecx + 0xf0]
call fcn.00459d1a
mov eax, dword [ebp - 0x1c]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
mov esi, eax
neg esi
sbb esi, esi
inc esi
call fcn.00459c11
mov eax, dword [ebp - 0x38]
mov byte [ebp - 4], 0xf
test eax, eax
je 0x417a3e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x24]
mov byte [ebp - 4], 0xe
test eax, eax
je 0x417a4f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0xb
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0xa
call sub.MFC42.DLL_CString::CString
mov eax, dword [ebp - 0x34]
mov byte [ebp - 4], 9
test eax, eax
je 0x417a78
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x28]
mov byte [ebp - 4], 8
test eax, eax
je 0x417a89
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x40]
mov byte [ebp - 4], 7
test eax, eax
je 0x417a9a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x2c]
mov byte [ebp - 4], 6
test eax, eax
je 0x417aab
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [ebp - 0x3c]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 2
call sub.MFC42.DLL_CString::CString
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 1
test eax, eax
je 0x417ad1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x1c]
and byte [ebp - 4], 0
test eax, eax
je 0x417ae2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x20]
or dword [ebp - 4], 0xffffffff
test eax, eax
je 0x417af3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, esi
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
leave
ret