Function at 0x494810
Capabilities:
Read .ini file

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x13c
mov esi, dword [esp + 0x154]
mov ebp, dword [esp + 0x150]
lea eax, [esi + 0x48]
mov dword [esi], 0
mov ecx, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xc838a0
mov eax, dword [esi + 0x4c]
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.004e4c10
mov eax, dword [ebp + 4]
sub esp, 0x10
test eax, eax
jne 0x494871
add esp, 0x13c
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], 0
mov eax, dword [ebp]
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll__access]
cmp eax, 0xffffffff
je 0x494864
xor edx, edx
lea edi, [esp + 0x30]
lea ebx, [esp + 0x30]
mov ecx, 0x40
mov eax, edx
rep stosd dword es:[edi], eax
mov eax, dword [ebp]
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 0x100
mov dword [esp + 0x14], eax
mov dword [esp + 8], 0xc838a1
mov dword [esp + 4], 0xc838a3
mov dword [esp], str.CurrentUpdate
call edi
sub esp, 0x18
mov dword [esp], ebx
call sub.msvcrt.dll_atoi
mov dword [esi], eax
mov eax, dword [ebp]
mov dword [esp + 0x10], 0x100
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0xc838a1
mov dword [esp + 4], 0xc838b6
mov dword [esp], str.CurrentUpdate
call edi
sub esp, 0x18
mov dword [esp], ebx
call sub.msvcrt.dll_atoi
mov dword [esp + 0x28], edi
mov dword [esi + 0x10], eax
mov eax, dword [ebp]
mov dword [esp + 0x10], 0x100
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0xc838a1
mov dword [esp + 4], str.timestamp
mov dword [esp], str.CurrentUpdate
call edi
mov edi, ebx
sub esp, 0x18
mov dword [esp], ebx
call sub.msvcrt.dll_atoi
xor edx, edx
mov ecx, 0x40
mov dword [esi + 8], eax
sar eax, 0x1f
mov dword [esi + 0xc], eax
mov eax, edx
rep stosd dword es:[edi], eax
mov eax, dword [ebp]
mov edi, dword [esp + 0x28]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 0x100
mov dword [esp + 0x14], eax
mov dword [esp + 8], 0xc838a0
mov dword [esp + 4], str.setupPackageName
mov dword [esp], str.CurrentUpdate
call edi
mov edx, ebx
sub esp, 0x18
mov ecx, dword [edx]
add edx, 4
lea eax, [ecx - 0x1010101]
not ecx
and eax, ecx
and eax, 0x80808080
je 0x49499c
mov ecx, eax
mov dword [esp + 8], ebx
mov edi, ebx
shr ecx, 0x10
test eax, 0x8080
cmove eax, ecx
lea ecx, [edx + 2]
cmove edx, ecx
mov ecx, eax
add cl, al
mov ecx, dword [esp + 0x2c]
sbb edx, 3
sub edx, ebx
mov dword [esp + 0xc], edx
mov eax, dword [esi + 0x4c]
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.004e4c10
mov eax, dword [ebp]
sub esp, 0x10
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x10], 0x100
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0xc838a1
mov dword [esp + 4], str.setupPackagePid
mov dword [esp], str.CurrentUpdate
call eax
sub esp, 0x18
mov dword [esp], ebx
call sub.msvcrt.dll_atoi
mov ecx, 0x40
mov dword [esi + 0x44], eax
xor eax, eax
rep stosd dword es:[edi], eax
mov eax, dword [ebp]
mov dword [esp + 0x10], 0x100
mov dword [esp + 0xc], ebx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 8], 0xc838a0
mov dword [esp + 4], str.appVersion
mov dword [esp], str.CurrentUpdate
call eax
mov edx, ebx
sub esp, 0x18
mov ecx, dword [edx]
add edx, 4
lea eax, [ecx - 0x1010101]
not ecx
and eax, ecx
and eax, 0x80808080
je 0x494a6e
mov ecx, eax
mov dword [esp + 8], ebx
shr ecx, 0x10
test eax, 0x8080
cmove eax, ecx
lea ecx, [edx + 2]
cmove edx, ecx
mov ecx, eax
add cl, al
lea ecx, [esi + 0x2c]
sbb edx, 3
sub edx, ebx
mov dword [esp + 0xc], edx
mov eax, dword [esi + 0x30]
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.004e4c10
mov eax, dword [ebp]
sub esp, 0x10
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 0x100
mov dword [esp + 8], 0xc838a1
mov dword [esp + 4], str.timestampStartSetup
mov dword [esp], str.CurrentUpdate
call eax
sub esp, 0x18
mov dword [esp], ebx
call sub.msvcrt.dll_atoi
mov dword [esi + 0x60], eax
sar eax, 0x1f
mov dword [esi + 0x64], eax
add esp, 0x13c
mov eax, 1
pop ebx
pop esi
pop edi
pop ebp
ret