Function at 0x40c90b
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xb9c
mov eax, dword [0x4c2f90]
xor eax, esp
mov dword [esp + 0xb98], eax
mov eax, dword [ebp + 8]
push ebx
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0xc]
push esi
xor ebx, ebx
mov dword [esp + 0x30], eax
mov dword [eax], ebx
push edi
lea eax, [esp + 0x10]
mov esi, ecx
push eax
push esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x18], ebx
call fcn.004032cf
pop ecx
pop ecx
cmp dword [esp + 0x10], ebx
jne 0x40c95e
xor eax, eax
jmp 0x40cfb5
lea eax, [esp + 0x10]
push eax
mov edi, str.AppPusher
push edi
push esi
mov dword [esp + 0x1c], ebx
call fcn.0040c66e
add esp, 0xc
cmp dword [esp + 0x10], ebx
je 0x40c957
lea eax, [esp + 0x20]
push eax
push str.count
push edi
push esi
mov dword [esp + 0x30], ebx
call fcn.0040c540
add esp, 0x10
cmp dword [esp + 0x20], 1
mov esi, 0x4b28f8
jae 0x40c9bf
push 0xffffffffffffffff
push ebx
sub esp, 0x1c
mov ecx, esp
push esi
call fcn.00401903
push 0x713
call fcn.004442e3
mov ecx, eax
call fcn.0044485b
xor eax, eax
inc eax
mov dword [esp + 0xc], eax
cmp dword [esp + 0x20], eax
jb 0x40cf91
jmp 0x40c9d9
mov esi, 0x4b28f8
xor ebx, ebx
push ebx
lea ecx, [esp + 0x10c]
mov dword [esp + 0x124], 7
call fcn.00401d0c
lea ecx, [esp + 0x124]
call fcn.004018ee
lea ecx, [esp + 0x140]
call fcn.004018ee
lea ecx, [esp + 0x15c]
call fcn.004018ee
lea ecx, [esp + 0x178]
call fcn.004018ee
push 1
push 3
lea ecx, [esp + 0x50]
call fcn.00407aaf
push ebx
lea ecx, [esp + 0xd4]
mov dword [esp + 0xec], 7
call fcn.00401d0c
mov eax, dword [esp + 0x48]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x48]
mov eax, dword [ecx + 0x28]
neg eax
sbb eax, eax
and eax, 0xfffffffc
add eax, 4
push ebx
push eax
call fcn.0040b295
push dword [esp + 0xc]
lea eax, [esp + 0x54]
push ecx
push 0x4b2a1c
push eax
call fcn.00409b2e
add esp, 0xc
push eax
call fcn.0040798e
lea eax, [esp + 0xd0]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.00409c80
cmp dword [esp + 0xf0], 8
mov ebx, dword [esp + 0xdc]
pop ecx
pop ecx
jae 0x40caae
lea ebx, [esp + 0xd4]
push esi
lea eax, [esp + 0x10c]
push eax
push dword [esp + 0x24]
mov ecx, edi
call fcn.0040c2fd
mov eax, dword [esp + 0x54]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x54]
mov eax, dword [ecx + 0x28]
add esp, 0xc
neg eax
sbb eax, eax
and eax, 0xfffffffc
xor ebx, ebx
add eax, 4
push ebx
push eax
call fcn.0040b295
push dword [esp + 0xc]
lea eax, [esp + 0x54]
push ecx
push str.Name
push eax
call fcn.00409b2e
add esp, 0xc
push eax
call fcn.0040798e
lea eax, [esp + 0xd0]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.00409c80
cmp dword [esp + 0xf0], 8
mov eax, dword [esp + 0xdc]
pop ecx
pop ecx
jae 0x40cb2f
lea eax, [esp + 0xd4]
push 0x800
mov dword [esp + 0x14], eax
lea eax, [esp + 0x3a4]
push ebx
push eax
call fcn.004764d0
add esp, 0xc
push dword [esp + 0x1c]
lea eax, [esp + 0x3a4]
push 0x3ff
push eax
push esi
push dword [esp + 0x20]
push edi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea eax, [esp + 0x3a0]
push eax
lea ecx, [esp + 0x128]
call fcn.00401a41
mov eax, dword [esp + 0x48]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x48]
mov eax, dword [ecx + 0x28]
neg eax
sbb eax, eax
and eax, 0xfffffffc
add eax, 4
push ebx
push eax
call fcn.0040b295
push dword [esp + 0xc]
lea eax, [esp + 0x54]
push ecx
push 0x4b3480
push eax
call fcn.00409b2e
add esp, 0xc
push eax
call fcn.0040798e
lea eax, [esp + 0xd0]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.00409c80
cmp dword [esp + 0xf0], 8
mov ebx, dword [esp + 0xdc]
pop ecx
pop ecx
jae 0x40cbe2
lea ebx, [esp + 0xd4]
push esi
lea eax, [esp + 0x144]
push eax
push dword [esp + 0x24]
mov ecx, edi
call fcn.0040c2fd
mov eax, dword [esp + 0x54]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x54]
mov eax, dword [ecx + 0x28]
add esp, 0xc
neg eax
sbb eax, eax
and eax, 0xfffffffc
add eax, 4
push 0
push eax
call fcn.0040b295
push dword [esp + 0xc]
lea eax, [esp + 0x54]
push ecx
push str.Weight
push eax
call fcn.00409b2e
add esp, 0xc
push eax
call fcn.0040798e
lea eax, [esp + 0xd0]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.00409c80
cmp dword [esp + 0xf0], 8
mov eax, dword [esp + 0xdc]
pop ecx
pop ecx
jae 0x40cc62
lea eax, [esp + 0xd4]
lea ecx, [esp + 0x194]
push ecx
push eax
push edi
push dword [esp + 0x28]
call fcn.0040c540
mov eax, dword [esp + 0x58]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x58]
mov eax, dword [ecx + 0x28]
add esp, 0x10
neg eax
sbb eax, eax
and eax, 0xfffffffc
add eax, 4
push 0
push eax
call fcn.0040b295
push dword [esp + 0xc]
lea eax, [esp + 0x54]
push ecx
push str.Param
push eax
call fcn.00409b2e
add esp, 0xc
push eax
call fcn.0040798e
lea eax, [esp + 0xd0]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.00409c80
cmp dword [esp + 0xf0], 8
mov ebx, dword [esp + 0xdc]
pop ecx
pop ecx
jae 0x40cce1
lea ebx, [esp + 0xd4]
push esi
lea eax, [esp + 0x160]
push eax
push dword [esp + 0x24]
mov ecx, edi
call fcn.0040c2fd
mov eax, dword [esp + 0x54]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x54]
mov eax, dword [ecx + 0x28]
add esp, 0xc
neg eax
sbb eax, eax
and eax, 0xfffffffc
add eax, 4
push 0
push eax
call fcn.0040b295
push dword [esp + 0xc]
lea eax, [esp + 0x54]
push ecx
push str.Version
push eax
call fcn.00409b2e
add esp, 0xc
push eax
call fcn.0040798e
lea eax, [esp + 0xd0]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.00409c80
cmp dword [esp + 0xf0], 8
mov ebx, dword [esp + 0xdc]
pop ecx
pop ecx
jae 0x40cd61
lea ebx, [esp + 0xd4]
push esi
lea eax, [esp + 0x17c]
push eax
push dword [esp + 0x24]
mov ecx, edi
call fcn.0040c2fd
mov eax, dword [esp + 0x54]
mov ecx, dword [eax + 4]
lea ecx, [esp + ecx + 0x54]
mov eax, dword [ecx + 0x28]
add esp, 0xc
neg eax
sbb eax, eax
and eax, 0xfffffffc
xor esi, esi
add eax, 4
push esi
push eax
call fcn.0040b295
push esi
lea ecx, [esp + 0xf0]
mov dword [esp + 0x108], 7
call fcn.00401d0c
lea eax, [esp + 0xec]
push eax
call fcn.00402f6a
mov dword [esp], 0x208
lea eax, [esp + 0x19c]
push esi
push eax
call fcn.004764d0
mov eax, dword [esp + 0xfc]
add esp, 0xc
push 8
pop ebx
cmp dword [esp + 0x104], ebx
jae 0x40cdf0
lea eax, [esp + 0xf0]
push str.ProfilesNewFeatureRecommendation.ini
push eax
lea eax, [esp + 0x1a0]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x19c]
push eax
mov dword [esp + 0x18], esi
call fcn.004032cf
pop ecx
pop ecx
cmp dword [esp + 0x10], esi
je 0x40cf3b
mov eax, dword [esp + 0x10c]
cmp dword [esp + 0x120], ebx
jae 0x40ce3d
lea eax, [esp + 0x10c]
lea ecx, [esp + 0x10]
push ecx
push eax
lea eax, [esp + 0x1a0]
push eax
call fcn.0040c66e
add esp, 0xc
cmp dword [esp + 0x10], esi
je 0x40cf3b
mov eax, dword [esp + 0x10c]
cmp dword [esp + 0x120], ebx
jae 0x40ce74
lea eax, [esp + 0x10c]
push esi
push esi
lea ecx, [esp + 0x30]
push ecx
push str.IsUsing
push eax
lea eax, [esp + 0x1ac]
push eax
call fcn.0040c55d
mov eax, dword [esp + 0x124]
add esp, 0x18
cmp dword [esp + 0x120], ebx
jae 0x40cea8
lea eax, [esp + 0x10c]
push esi
push esi
lea ecx, [esp + 0x40]
push ecx
push str.ShowTime
push eax
lea eax, [esp + 0x1ac]
push eax
call fcn.0040c55d
mov eax, dword [esp + 0x124]
add esp, 0x18
cmp dword [esp + 0x120], ebx
jae 0x40cedc
lea eax, [esp + 0x10c]
push esi
push esi
lea ecx, [esp + 0x48]
push ecx
push str.LatestTime
push eax
lea eax, [esp + 0x1ac]
push eax
call fcn.0040c55d
mov eax, dword [esp + 0x40]
add esp, 0x18
or eax, dword [esp + 0x2c]
jne 0x40cf14
cmp dword [esp + 0x3c], esi
ja 0x40cf4c
jb 0x40cf3b
cmp dword [esp + 0x38], 2
jae 0x40cf4c
jmp 0x40cf3b
cmp dword [esp + 0x28], 1
jne 0x40cf4c
cmp dword [esp + 0x2c], esi
jne 0x40cf4c
call fcn.004143db
sub eax, dword [esp + 0x40]
sbb edx, dword [esp + 0x44]
mov dword [esp + 0x14], edx
jne 0x40cf3b
cmp eax, 0x278d00
jbe 0x40cf4c
lea eax, [esp + 0x108]
push eax
mov eax, dword [esp + 0x28]
call fcn.0040dd31
push esi
push 1
lea ecx, [esp + 0xf4]
call fcn.00401a65
push esi
push 1
lea ecx, [esp + 0xd8]
call fcn.00401a65
lea ecx, [esp + 0x48]
call fcn.00405231
lea esi, [esp + 0x108]
call fcn.0040cfcc
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, dword [esp + 0x20]
jbe 0x40c9d2
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x10]
sub eax, dword [ecx + 0xc]
mov ecx, 0x90
cdq
idiv ecx
test eax, eax
jbe 0x40cfb1
mov eax, dword [esp + 0x34]
mov dword [eax], 1
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0xba4]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0047654a
mov esp, ebp
pop ebp
ret 8