Function at 0x447da0
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4f00c7
mov eax, dword fs:[0]
push eax
sub esp, 0x248
mov eax, dword [0x5441b4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x210], eax
mov eax, dword [0x547e58]
xor ebx, ebx
mov dword [ebp - 0x214], ecx
cmp eax, ebx
je 0x447e18
cmp dword [eax + 8], 4
mov edi, eax
jl 0x447e18
push str.MainUpdate.cpp
push 4
push ecx
mov edx, esp
mov dword [ebp - 0x20c], esp
push edx
mov ecx, str.begin_CheckUpdate
mov esi, 0x153
call fcn.0042d450
push edi
mov ecx, esi
call fcn.0042b0b0
mov eax, 7
xor ecx, ecx
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x188], ebx
mov word [ebp - 0x198], cx
mov dword [ebp - 4], ebx
xor edx, edx
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x70], ebx
mov word [ebp - 0x80], dx
mov eax, 1
mov byte [ebp - 4], al
test byte [0x547f74], al
jne 0x447e69
or dword [0x547f74], eax
call fcn.00441d90
push 0x4f1080
call fcn.004b809e
add esp, 4
mov al, byte [0x547f52]
lea ebx, [ebp - 0x2c]
mov byte [ebp - 0x20c], al
call fcn.00447bd0
mov edi, eax
lea esi, [ebp - 0x80]
mov byte [ebp - 4], 2
call fcn.00406400
mov ebx, 8
mov byte [ebp - 4], 1
cmp dword [ebp - 0x18], ebx
jb 0x447ea4
mov ecx, dword [ebp - 0x2c]
push ecx
call fcn.004b6106
add esp, 4
xor edi, edi
cmp dword [ebp - 0x70], edi
jne 0x447f17
test byte [0x547f74], 1
jne 0x447ecd
or dword [0x547f74], 1
call fcn.00441d90
push 0x4f1080
call fcn.004b809e
add esp, 4
push 0xffffffffffffffff
push edi
push 0x547e8c
lea ecx, [ebp - 0x80]
call fcn.00406e90
mov edx, 0x545640
lea ecx, [ebp - 0x2c]
call fcn.00403830
mov edx, dword [ebp - 0x20c]
push edx
lea edx, [ebp - 0x80]
mov ecx, eax
mov byte [ebp - 4], 3
call fcn.00408620
add esp, 4
mov byte [ebp - 4], 1
cmp dword [ebp - 0x18], ebx
jb 0x447f17
mov eax, dword [ebp - 0x2c]
push eax
call fcn.004b6106
add esp, 4
test byte [0x5482a8], 1
jne 0x447f41
or dword [0x5482a8], 1
mov byte [ebp - 4], 4
call fcn.0045ad50
push 0x4f10c0
call fcn.004b809e
add esp, 4
mov byte [ebp - 4], 1
push 0xffffffffffffffff
push edi
lea ecx, [ebp - 0x80]
push ecx
mov ecx, 0x5482f0
call fcn.00406e90
push edi
xor edx, edx
mov esi, 7
push 0x50b674
lea ecx, [ebp - 0x144]
mov dword [ebp - 0x130], esi
mov dword [ebp - 0x134], edi
mov word [ebp - 0x144], dx
call fcn.004073c0
mov byte [ebp - 4], 5
push edi
xor eax, eax
push 0x50b674
lea ecx, [ebp - 0x10c]
mov dword [ebp - 0xf8], esi
mov dword [ebp - 0xfc], edi
mov word [ebp - 0x10c], ax
call fcn.004073c0
mov byte [ebp - 4], 6
xor ecx, ecx
push edi
mov word [ebp - 0x128], cx
push 0x50b674
lea ecx, [ebp - 0x128]
mov dword [ebp - 0x114], esi
mov dword [ebp - 0x118], edi
call fcn.004073c0
mov byte [ebp - 4], 7
push edi
xor edx, edx
push 0x50b674
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x54], edi
mov word [ebp - 0x64], dx
call fcn.004073c0
mov byte [ebp - 4], bl
push edi
xor eax, eax
push 0x50b674
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x38], edi
mov word [ebp - 0x48], ax
call fcn.004073c0
mov byte [ebp - 4], 9
xor ecx, ecx
push edi
mov word [ebp - 0xd4], cx
push 0x50b674
lea ecx, [ebp - 0xd4]
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0xc4], edi
call fcn.004073c0
mov byte [ebp - 4], 0xa
push edi
xor edx, edx
push 0x50b674
lea ecx, [ebp - 0xf0]
mov dword [ebp - 0xdc], esi
mov dword [ebp - 0xe0], edi
mov word [ebp - 0xf0], dx
call fcn.004073c0
mov byte [ebp - 4], 0xb
xor eax, eax
mov dword [ebp - 0x88], esi
mov dword [ebp - 0x8c], edi
mov word [ebp - 0x9c], ax
push edi
push 0x50b674
lea ecx, [ebp - 0x9c]
call fcn.004073c0
mov byte [ebp - 4], 0xc
xor ecx, ecx
push edi
mov word [ebp - 0xb8], cx
push 0x50b674
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0xa4], esi
mov dword [ebp - 0xa8], edi
call fcn.004073c0
lea edx, [ebp - 0x80]
push edx
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0x9c]
push ecx
lea edx, [ebp - 0xf0]
push edx
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0x48]
push ecx
lea edx, [ebp - 0x64]
push edx
lea eax, [ebp - 0x128]
push eax
lea ecx, [ebp - 0x198]
push ecx
lea edx, [ebp - 0x10c]
lea ecx, [ebp - 0x144]
mov byte [ebp - 4], 0xd
call fcn.0040efd0
add esp, 0x24
test al, al
jne 0x44835c
mov eax, dword [0x547e58]
cmp eax, edi
je 0x448143
cmp dword [eax + 8], 2
mov edi, eax
jl 0x448143
push str.MainUpdate.cpp
push 2
push ecx
mov edx, esp
mov dword [ebp - 0x20c], esp
push edx
mov ecx, 0x511a10
mov esi, 0x17a
call fcn.0042d450
push edi
mov ecx, esi
call fcn.0042b0b0
test byte [0x548484], 1
jne 0x448179
or dword [0x548484], 1
push 0x548408
mov byte [ebp - 4], 0xe
call fcn.00431fb0
push 0x4f1010
mov byte [0x548480], 0
call fcn.004b809e
add esp, 4
mov byte [ebp - 4], 0xd
push 0x511a54
push 0x548408
mov edx, str.Error
lea ecx, [ebp - 0x2c]
call fcn.00429870
mov esi, dword [ebp - 0x210]
mov edi, eax
mov byte [ebp - 4], 0xf
call fcn.00406400
cmp dword [ebp - 0x18], ebx
jb 0x4481b2
mov eax, dword [ebp - 0x2c]
push eax
call fcn.004b6106
add esp, 4
cmp dword [ebp - 0xa4], ebx
jb 0x4481c9
mov ecx, dword [ebp - 0xb8]
push ecx
call fcn.004b6106
add esp, 4
xor esi, esi
xor edx, edx
mov edi, 7
mov dword [ebp - 0xa4], edi
mov dword [ebp - 0xa8], esi
mov word [ebp - 0xb8], dx
cmp dword [ebp - 0x88], ebx
jb 0x4481fc
mov eax, dword [ebp - 0x9c]
push eax
call fcn.004b6106
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x88], edi
mov dword [ebp - 0x8c], esi
mov word [ebp - 0x9c], cx
cmp dword [ebp - 0xdc], ebx
jb 0x448228
mov edx, dword [ebp - 0xf0]
push edx
call fcn.004b6106
add esp, 4
xor eax, eax
mov dword [ebp - 0xdc], edi
mov dword [ebp - 0xe0], esi
mov word [ebp - 0xf0], ax
cmp dword [ebp - 0xc0], ebx
jb 0x448254
mov ecx, dword [ebp - 0xd4]
push ecx
call fcn.004b6106
add esp, 4
xor edx, edx
mov dword [ebp - 0xc0], edi
mov dword [ebp - 0xc4], esi
mov word [ebp - 0xd4], dx
cmp dword [ebp - 0x34], ebx
jb 0x44827a
mov eax, dword [ebp - 0x48]
push eax
call fcn.004b6106
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x38], esi
mov word [ebp - 0x48], cx
cmp dword [ebp - 0x50], ebx
jb 0x448297
mov edx, dword [ebp - 0x64]
push edx
call fcn.004b6106
add esp, 4
xor eax, eax
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x54], esi
mov word [ebp - 0x64], ax
cmp dword [ebp - 0x114], ebx
jb 0x4482ba
mov ecx, dword [ebp - 0x128]
push ecx
call fcn.004b6106
add esp, 4
xor edx, edx
mov dword [ebp - 0x114], edi
mov dword [ebp - 0x118], esi
mov word [ebp - 0x128], dx
cmp dword [ebp - 0xf8], ebx
jb 0x4482e6
mov eax, dword [ebp - 0x10c]
push eax
call fcn.004b6106
add esp, 4
xor ecx, ecx
mov dword [ebp - 0xf8], edi
mov dword [ebp - 0xfc], esi
mov word [ebp - 0x10c], cx
cmp dword [ebp - 0x130], ebx
jb 0x448312
mov edx, dword [ebp - 0x144]
push edx
call fcn.004b6106
add esp, 4
xor eax, eax
mov dword [ebp - 0x130], edi
mov dword [ebp - 0x134], esi
mov word [ebp - 0x144], ax
cmp dword [ebp - 0x6c], ebx
jb 0x448338
mov ecx, dword [ebp - 0x80]
push ecx
call fcn.004b6106
add esp, 4
xor edx, edx
mov dword [ebp - 0x6c], edi
mov dword [ebp - 0x70], esi
mov word [ebp - 0x80], dx
cmp dword [ebp - 0x184], ebx
jb 0x448f2a
mov eax, dword [ebp - 0x198]
push eax
jmp 0x448f22
lea ecx, [ebp - 0x2c]
push ecx
call fcn.0040dae0
add esp, 4
cmp dword [eax + 0x14], ebx
jb 0x44836f
mov eax, dword [eax]
mov ecx, dword [ebp - 0x48]
cmp dword [ebp - 0x34], ebx
jae 0x44837a
lea ecx, [ebp - 0x48]
mov esi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
push eax
push ecx
push 0x511a58
push str.UpdateParam
call esi
cmp dword [ebp - 0x18], ebx
jb 0x44839f
mov edx, dword [ebp - 0x2c]
push edx
call fcn.004b6106
add esp, 4
lea eax, [ebp - 0x2c]
push eax
call fcn.0040dae0
add esp, 4
cmp dword [eax + 0x14], ebx
jb 0x4483b2
mov eax, dword [eax]
mov ecx, dword [ebp - 0x9c]
cmp dword [ebp - 0x88], ebx
jae 0x4483c6
lea ecx, [ebp - 0x9c]
push eax
push ecx
push str.silentupgrade
push str.UpdateParam
call esi
cmp dword [ebp - 0x18], ebx
jb 0x4483e5
mov ecx, dword [ebp - 0x2c]
push ecx
call fcn.004b6106
add esp, 4
lea edx, [ebp - 0x2c]
push edx
call fcn.0040dae0
add esp, 4
cmp dword [eax + 0x14], ebx
jb 0x4483f8
mov eax, dword [eax]
mov ecx, dword [ebp - 0xb8]
cmp dword [ebp - 0xa4], ebx
jae 0x44840c
lea ecx, [ebp - 0xb8]
push eax
push ecx
push str.upgradesetup
push str.UpdateParam
call esi
cmp dword [ebp - 0x18], ebx
jb 0x44842b
mov eax, dword [ebp - 0x2c]
push eax
call fcn.004b6106
add esp, 4
lea ecx, [ebp - 0x2c]
push ecx
call fcn.0040dae0
add esp, 4
cmp dword [eax + 0x14], ebx
jb 0x44843e
mov eax, dword [eax]
mov ecx, dword [ebp - 0x64]
cmp dword [ebp - 0x50], ebx
jae 0x448449
lea ecx, [ebp - 0x64]
push eax
push ecx
push str.version
push str.UpdateParam
call esi
cmp dword [ebp - 0x18], ebx
jb 0x448468
mov edx, dword [ebp - 0x2c]
push edx
call fcn.004b6106
add esp, 4
push str.UpdateScript.XML
lea eax, [ebp - 0x198]
push eax
lea ecx, [ebp - 0x17c]
push ecx
call fcn.00404300
add esp, 0xc
lea esi, [ebp - 0x1b4]
mov byte [ebp - 4], 0x10
call fcn.0040da10
lea edx, [ebp - 0x240]
push edx
mov byte [ebp - 4], 0x11
call fcn.00413990
mov dword [ebp - 0x14c], 0xf
mov dword [ebp - 0x150], edi
mov byte [ebp - 0x160], 0
mov byte [ebp - 4], 0x13
mov eax, dword [ebp - 0x17c]
cmp dword [ebp - 0x168], ebx
jae 0x4484d1
lea eax, [ebp - 0x17c]
push eax
lea esi, [ebp - 0x160]
lea ecx, [ebp - 0x240]
call fcn.00413f20
test al, al
jne 0x44879a
mov eax, dword [0x547e58]
cmp eax, edi
je 0x448524
cmp dword [eax + 8], 2
mov edi, eax
jl 0x448524
push str.MainUpdate.cpp
push 2
push ecx
mov eax, esp
mov dword [ebp - 0x20c], esp
push eax
mov ecx, 0x511af4
mov esi, 0x18b
call fcn.0042d450
push edi
mov ecx, esi
call fcn.0042b0b0
push 0x511b28
call fcn.00429200
push eax
mov edx, str.Error
lea ecx, [ebp - 0x2c]
call fcn.00429870
mov esi, dword [ebp - 0x210]
mov edi, eax
mov byte [ebp - 4], 0x14
call fcn.00406400
cmp dword [ebp - 0x18], ebx
jb 0x44855e
mov ecx, dword [ebp - 0x2c]
push ecx
call fcn.004b6106
add esp, 4
cmp dword [ebp - 0x14c], 0x10
jb 0x448576
mov edx, dword [ebp - 0x160]
push edx
call fcn.004b6106
add esp, 4
xor esi, esi
lea ecx, [ebp - 0x240]
mov dword [ebp - 0x14c], 0xf
mov dword [ebp - 0x150], esi
mov byte [ebp - 0x160], 0
call fcn.00413a90
cmp dword [ebp - 0x1a0], ebx
jb 0x4485b1
mov eax, dword [ebp - 0x1b4]
push eax
call fcn.004b6106
add esp, 4
xor ecx, ecx
mov edi, 7
mov dword [ebp - 0x1a0], edi
mov dword [ebp - 0x1a4], esi
mov word [ebp - 0x1b4], cx
cmp dword [ebp - 0x168], ebx
jb 0x4485e2
mov edx, dword [ebp - 0x17c]
push edx
call fcn.004b6106
add esp, 4
xor eax, eax
mov dword [ebp - 0x168], edi
mov dword [ebp - 0x16c], esi
mov word [ebp - 0x17c], ax
cmp dword [ebp - 0xa4], ebx
jb 0x44860e
mov ecx, dword [ebp - 0xb8]
push ecx
call fcn.004b6106
add esp, 4
xor edx, edx
mov dword [ebp - 0xa4], edi
mov dword [ebp - 0xa8], esi
mov word [ebp - 0xb8], dx
cmp dword [ebp - 0x88], ebx
jb 0x44863a
mov eax, dword [ebp - 0x9c]
push eax
call fcn.004b6106
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x88], edi
mov dword [ebp - 0x8c], esi
mov word [ebp - 0x9c], cx
cmp dword [ebp - 0xdc], ebx
jb 0x448666
mov edx, dword [ebp - 0xf0]
push edx
call fcn.004b6106
add esp, 4
xor eax, eax
mov dword [ebp - 0xdc], edi
mov dword [ebp - 0xe0], esi
mov word [ebp - 0xf0], ax
cmp dword [ebp - 0xc0], ebx
jb 0x448692
mov ecx, dword [ebp - 0xd4]
push ecx
call fcn.004b6106
add esp, 4
xor edx, edx
mov dword [ebp - 0xc0], edi
mov dword [ebp - 0xc4], esi
mov word [ebp - 0xd4], dx
cmp dword [ebp - 0x34], ebx
jb 0x4486b8
mov eax, dword [ebp - 0x48]
push eax
call fcn.004b6106
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x38], esi
mov word [ebp - 0x48], cx
cmp dword [ebp - 0x50], ebx
jb 0x4486d5
mov edx, dword [ebp - 0x64]
push edx
call fcn.004b6106
add esp, 4
xor eax, eax
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x54], esi
mov word [ebp - 0x64], ax
cmp dword [ebp - 0x114], ebx
jb 0x4486f8
mov ecx, dword [ebp - 0x128]
push ecx
call fcn.004b6106
add esp, 4
xor edx, edx
mov dword [ebp - 0x114], edi
mov dword [ebp - 0x118], esi
mov word [ebp - 0x128], dx
cmp dword [ebp - 0xf8], ebx
jb 0x448724
mov eax, dword [ebp - 0x10c]
push eax
call fcn.004b6106
add esp, 4
xor ecx, ecx
mov dword [ebp - 0xf8], edi
mov dword [ebp - 0xfc], esi
mov word [ebp - 0x10c], cx
cmp dword [ebp - 0x130], ebx
jb 0x448750
mov edx, dword [ebp - 0x144]
push edx
call fcn.004b6106
add esp, 4
xor eax, eax
mov dword [ebp - 0x130], edi
mov dword [ebp - 0x134], esi
mov word [ebp - 0x144], ax
cmp dword [ebp - 0x6c], ebx
jb 0x448776
mov ecx, dword [ebp - 0x80]
push ecx
call fcn.004b6106
add esp, 4
xor edx, edx
mov dword [ebp - 0x6c], edi
mov dword [ebp - 0x70], esi
mov word [ebp - 0x80], dx
cmp dword [ebp - 0x184], ebx
jb 0x448f2a
mov eax, dword [ebp - 0x198]
push eax
jmp 0x448f22
cmp dword [ebp - 0x14c], 0x10
mov ebx, dword [ebp - 0x150]
mov esi, dword [ebp - 0x160]
jae 0x4487b5
lea esi, [ebp - 0x160]
test byte [0x548034], 1
jne 0x4487df
or dword [0x548034], 1
mov byte [ebp - 4], 0x15
call fcn.0043ec60
push 0x4f10a0
call fcn.004b809e
add esp, 4
mov byte [ebp - 4], 0x13
mov eax, esi
mov edi, 0x548038
call fcn.0043f2a0
test al, al
je 0x448c78
call fcn.004453a0
push eax
call fcn.0043f870
test al, al
je 0x448c78
call fcn.004453a0
lea ecx, [eax + 0xd0]
lea esi, [ebp - 0x208]
call fcn.004064b0
mov byte [ebp - 4], 0x17
call fcn.00441cf0
lea ecx, [eax + 0x8c]
lea esi, [ebp - 0x1d0]
call fcn.004064b0
mov byte [ebp - 4], 0x18
mov eax, dword [ebp - 0x1d0]
mov ebx, 8
cmp dword [ebp - 0x1bc], ebx
jae 0x44884f
mov eax, esi
mov edi, dword [ebp - 0x1c0]
push eax
mov eax, dword [ebp - 0x1f8]
lea ecx, [ebp - 0x208]
call fcn.00405550
test eax, eax
je 0x44895e
lea ecx, [ebp - 0x1b4]
push ecx
lea ecx, [ebp - 0x198]
call fcn.00446360
add esp, 4
push 0x1a0
push 0x511b64
mov edx, str.MainUpdate.cpp
mov eax, 4
mov ecx, 0x547e58
call fcn.00429fd0
lea ecx, [ebp - 0x1d0]
call fcn.00406760
lea ecx, [ebp - 0x208]
call fcn.00406760
lea ecx, [ebp - 0x160]
call fcn.00401ea0
lea ecx, [ebp - 0x240]
call fcn.00413a90
lea ecx, [ebp - 0x1b4]
call fcn.00406760
lea ecx, [ebp - 0x17c]
call fcn.00406760
lea ecx, [ebp - 0xb8]
call fcn.00406760
lea ecx, [ebp - 0x9c]
call fcn.00406760
lea ecx, [ebp - 0xf0]
call fcn.00406760
lea ecx, [ebp - 0xd4]
call fcn.00406760
lea ecx, [ebp - 0x48]
call fcn.00406760
lea ecx, [ebp - 0x64]
call fcn.00406760
lea ecx, [ebp - 0x128]
call fcn.00406760
lea ecx, [ebp - 0x10c]
call fcn.00406760
lea ecx, [ebp - 0x144]
call fcn.00406760
lea ecx, [ebp - 0x80]
call fcn.00406760
lea ecx, [ebp - 0x198]
call fcn.00406760
mov eax, 1
jmp 0x448f2c
call fcn.004453a0
push eax
call fcn.0043f320
lea edx, [ebp - 0xd4]
push edx
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x128]
push ecx
lea edx, [ebp - 0x10c]
push edx
call fcn.004453a0
mov esi, eax
lea edi, [ebp - 0xf0]
lea eax, [ebp - 0x48]
call fcn.0043f790
call fcn.004453a0
mov edi, eax
call fcn.00441cf0
lea ecx, [eax + 0x70]
lea esi, [ebp - 0x254]
call fcn.00445370
lea ecx, [edi + 0x40]
lea esi, [ebp - 0x24]
mov byte [ebp - 4], 0x19
call fcn.00445370
lea eax, [ebp - 0x254]
mov ecx, esi
mov byte [ebp - 4], 0x1a
call fcn.004499a0
test al, al
jne 0x448ab3
push 0x1b3
push 0x511b94
mov edx, str.MainUpdate.cpp
mov eax, 4
mov ecx, 0x547e58
call fcn.00429fd0
lea ecx, [ebp - 0x1d0]
call fcn.00406760
lea ecx, [ebp - 0x208]
call fcn.00406760
lea ecx, [ebp - 0x160]
call fcn.00401ea0
lea ecx, [ebp - 0x240]
call fcn.00413a90
lea ecx, [ebp - 0x1b4]
call fcn.00406760
lea ecx, [ebp - 0x17c]
call fcn.00406760
lea ecx, [ebp - 0xb8]
call fcn.00406760
lea ecx, [ebp - 0x9c]
call fcn.00406760
lea ecx, [ebp - 0xf0]
call fcn.00406760
lea ecx, [ebp - 0xd4]
call fcn.00406760
lea ecx, [ebp - 0x48]
call fcn.00406760
lea ecx, [ebp - 0x64]
call fcn.00406760
lea ecx, [ebp - 0x128]
call fcn.00406760
lea ecx, [ebp - 0x10c]
call fcn.00406760
lea ecx, [ebp - 0x144]
call fcn.00406760
lea ecx, [ebp - 0x80]
call fcn.00406760
lea ecx, [ebp - 0x198]
call fcn.00406760
mov eax, 2
jmp 0x448f2c
call fcn.00445e80
mov ecx, eax
lea eax, [ebp - 0x198]
call fcn.00445f00
lea eax, [ebp - 0x1ec]
push eax
call fcn.0040dae0
add esp, 4
cmp dword [eax + 0x14], ebx
jb 0x448adb
mov eax, dword [eax]
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push eax
push 0
push 0x511a58
push str.UpdateParam
call esi
lea ecx, [ebp - 0x1ec]
mov edi, eax
call fcn.00406760
lea ecx, [ebp - 0x1ec]
push ecx
call fcn.0040dae0
add esp, 4
cmp dword [eax + 0x14], ebx
jb 0x448b13
mov eax, dword [eax]
push eax
push 0
push str.silentupgrade
push str.UpdateParam
call esi
lea ecx, [ebp - 0x1ec]
mov ebx, eax
call fcn.00406760
lea edx, [ebp - 0x1ec]
push edx
call fcn.0040dae0
add esp, 4
cmp dword [eax + 0x14], 8
jb 0x448b46
mov eax, dword [eax]
push eax
push 0
push str.upgradesetup
push str.UpdateParam
call esi
lea ecx, [ebp - 0x1ec]
mov esi, eax
call fcn.00406760
test edi, edi
jne 0x448b95
cmp ebx, 1
jne 0x448b95
test esi, esi
jne 0x448b95
push 0x1bf
push 0x511bc0
mov edx, str.MainUpdate.cpp
lea eax, [edi + 4]
mov ecx, 0x547e58
call fcn.00429fd0
mov eax, dword [ebp - 0x214]
mov byte [eax], bl
jmp 0x448b9e
mov ecx, dword [ebp - 0x214]
mov byte [ecx], 0
push 0x1c7
push str.end_CheckUpdate
mov edx, str.MainUpdate.cpp
mov eax, 4
mov ecx, 0x547e58
call fcn.00429fd0
lea ecx, [ebp - 0x1d0]
call fcn.00406760
lea ecx, [ebp - 0x208]
call fcn.00406760
lea ecx, [ebp - 0x160]
call fcn.00401ea0
lea ecx, [ebp - 0x240]
call fcn.00413a90
lea ecx, [ebp - 0x1b4]
call fcn.00406760
lea ecx, [ebp - 0x17c]
call fcn.00406760
lea ecx, [ebp - 0xb8]
call fcn.00406760
lea ecx, [ebp - 0x9c]
call fcn.00406760
lea ecx, [ebp - 0xf0]
call fcn.00406760
lea ecx, [ebp - 0xd4]
call fcn.00406760
lea ecx, [ebp - 0x48]
call fcn.00406760
lea ecx, [ebp - 0x64]
call fcn.00406760
lea ecx, [ebp - 0x128]
call fcn.00406760
lea ecx, [ebp - 0x10c]
call fcn.00406760
lea ecx, [ebp - 0x144]
call fcn.00406760
lea ecx, [ebp - 0x80]
call fcn.00406760
lea ecx, [ebp - 0x198]
call fcn.00406760
mov eax, 3
jmp 0x448f2c
mov eax, dword [0x547e58]
xor ebx, ebx
cmp eax, ebx
je 0x448cb3
cmp dword [eax + 8], 2
mov edi, eax
jl 0x448cb3
push str.MainUpdate.cpp
push 2
push ecx
mov edx, esp
mov dword [ebp - 0x20c], esp
push edx
mov ecx, 0x511b2c
mov esi, 0x191
call fcn.0042d450
push edi
mov ecx, esi
call fcn.0042b0b0
push 0x511b60
call fcn.00429200
push eax
mov edx, str.Error
lea ecx, [ebp - 0x2c]
call fcn.00429870
mov esi, dword [ebp - 0x210]
mov edi, eax
mov byte [ebp - 4], 0x16
call fcn.00406400
mov esi, 8
cmp dword [ebp - 0x18], esi
jb 0x448cf2
mov eax, dword [ebp - 0x2c]
push eax
call fcn.004b6106
add esp, 4
cmp dword [ebp - 0x14c], 0x10
jb 0x448d0a
mov ecx, dword [ebp - 0x160]
push ecx
call fcn.004b6106
add esp, 4
lea ecx, [ebp - 0x240]
mov dword [ebp - 0x14c], 0xf
mov dword [ebp - 0x150], ebx
mov byte [ebp - 0x160], bl
call fcn.00413a90
cmp dword [ebp - 0x1a0], esi
jb 0x448d42
mov edx, dword [ebp - 0x1b4]
push edx
call fcn.004b6106
add esp, 4
xor eax, eax
mov edi, 7
mov dword [ebp - 0x1a0], edi
mov dword [ebp - 0x1a4], ebx
mov word [ebp - 0x1b4], ax
cmp dword [ebp - 0x168], esi
jb 0x448d73
mov ecx, dword [ebp - 0x17c]
push ecx
call fcn.004b6106
add esp, 4
xor edx, edx
mov dword [ebp - 0x168], edi
mov dword [ebp - 0x16c], ebx
mov word [ebp - 0x17c], dx
cmp dword [ebp - 0xa4], esi
jb 0x448d9f
mov eax, dword [ebp - 0xb8]
push eax
call fcn.004b6106
add esp, 4
xor ecx, ecx
mov dword [ebp - 0xa4], edi
mov dword [ebp - 0xa8], ebx
mov word [ebp - 0xb8], cx
cmp dword [ebp - 0x88], esi
jb 0x448dcb
mov edx, dword [ebp - 0x9c]
push edx
call fcn.004b6106
add esp, 4
xor eax, eax
mov dword [ebp - 0x88], edi
mov dword [ebp - 0x8c], ebx
mov word [ebp - 0x9c], ax
cmp dword [ebp - 0xdc], esi
jb 0x448df7
mov ecx, dword [ebp - 0xf0]
push ecx
call fcn.004b6106
add esp, 4
xor edx, edx
mov dword [ebp - 0xdc], edi
mov dword [ebp - 0xe0], ebx
mov word [ebp - 0xf0], dx
cmp dword [ebp - 0xc0], esi
jb 0x448e23
mov eax, dword [ebp - 0xd4]
push eax
call fcn.004b6106
add esp, 4
xor ecx, ecx
mov dword [ebp - 0xc0], edi
mov dword [ebp - 0xc4], ebx
mov word [ebp - 0xd4], cx
cmp dword [ebp - 0x34], esi
jb 0x448e49
mov edx, dword [ebp - 0x48]
push edx
call fcn.004b6106
add esp, 4
xor eax, eax
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x38], ebx
mov word [ebp - 0x48], ax
cmp dword [ebp - 0x50], esi
jb 0x448e66
mov ecx, dword [ebp - 0x64]
push ecx
call fcn.004b6106
add esp, 4
xor edx, edx
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x54], ebx
mov word [ebp - 0x64], dx
cmp dword [ebp - 0x114], esi
jb 0x448e89
mov eax, dword [ebp - 0x128]
push eax
call fcn.004b6106
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x114], edi
mov dword [ebp - 0x118], ebx
mov word [ebp - 0x128], cx
cmp dword [ebp - 0xf8], esi
jb 0x448eb5
mov edx, dword [ebp - 0x10c]
push edx
call fcn.004b6106
add esp, 4
xor eax, eax
mov dword [ebp - 0xf8], edi
mov dword [ebp - 0xfc], ebx
mov word [ebp - 0x10c], ax
cmp dword [ebp - 0x130], esi
jb 0x448ee1
mov ecx, dword [ebp - 0x144]
push ecx
call fcn.004b6106
add esp, 4
xor edx, edx
mov dword [ebp - 0x130], edi
mov dword [ebp - 0x134], ebx
mov word [ebp - 0x144], dx
cmp dword [ebp - 0x6c], esi
jb 0x448f07
mov eax, dword [ebp - 0x80]
push eax
call fcn.004b6106
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x6c], edi
mov dword [ebp - 0x70], ebx
mov word [ebp - 0x80], cx
cmp dword [ebp - 0x184], esi
jb 0x448f2a
mov edx, dword [ebp - 0x198]
push edx
call fcn.004b6106
add esp, 4
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004b6111
mov esp, ebp
pop ebp
ret