Function at 0x45f1e0
Capabilities:
Check if file exists
Delete file
Move file
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4f4a24
mov eax, dword fs:[0]
push eax
sub esp, 0x53c
mov eax, dword [0x54b1b4]
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 ebx, ecx
mov dword [ebp - 0x52c], ebx
mov dword [ebp - 0x530], 0
call fcn.00460190
call fcn.00460300
lea eax, [ebp - 0x43c]
push eax
call fcn.0040ebc0
add esp, 4
xor edi, edi
mov dword [ebp - 4], edi
xor ecx, ecx
mov dword [ebp - 0x4ec], 7
mov dword [ebp - 0x4f0], edi
mov word [ebp - 0x500], cx
mov byte [ebp - 4], 1
test byte [0x54f018], 1
jne 0x45f27d
or dword [0x54f018], 1
call fcn.00443940
push 0x4f5ff0
call fcn.004bc45e
add esp, 4
push 0xffffffffffffffff
lea esi, [ebx + 0x24]
push edi
push 0x54ef68
mov ecx, esi
mov dword [ebp - 0x534], esi
call fcn.00407f10
mov ecx, dword [ebx + 0x34]
mov edi, 8
cmp dword [esi + 0x14], edi
jb 0x45f2a6
mov eax, dword [esi]
jmp 0x45f2a8
mov eax, esi
cmp word [eax + ecx*2 - 2], 0x5c
je 0x45f2be
push 1
mov eax, 0x510884
mov ecx, esi
call fcn.00407450
xor edx, edx
push 0x206
push edx
lea eax, [ebp - 0x216]
push eax
mov dword [ebx + 0x108], 1
mov word [ebp - 0x218], dx
call fcn.004c24e0
mov eax, dword [ebp - 0x43c]
add esp, 0xc
cmp dword [ebp - 0x428], edi
jae 0x45f2fa
lea eax, [ebp - 0x43c]
push eax
push 0x104
lea ecx, [ebp - 0x218]
push ecx
push 0x51ac40
push str.UpdateStep
push str.QuietUpdate
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
je 0x460059
lea edx, [ebp - 0x218]
push str.HasDownloadUpdateZip
push edx
call fcn.004bb226
add esp, 8
test eax, eax
jne 0x460059
mov eax, dword [ebp - 0x43c]
cmp dword [ebp - 0x428], edi
jae 0x45f354
lea eax, [ebp - 0x43c]
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push eax
push 0
push 0x517248
push str.UpdateParam
call esi
mov ebx, eax
mov eax, dword [ebp - 0x43c]
cmp dword [ebp - 0x428], edi
jae 0x45f37f
lea eax, [ebp - 0x43c]
push eax
push 0
push str.silentupgrade
push str.UpdateParam
call esi
cmp dword [ebp - 0x428], 8
mov edi, eax
mov eax, dword [ebp - 0x43c]
jae 0x45f3a5
lea eax, [ebp - 0x43c]
push eax
push 0
push str.upgradesetup
push str.UpdateParam
call esi
test ebx, ebx
jne 0x46000e
cmp edi, 1
jne 0x46000e
test eax, eax
jne 0x46000e
push 0x206
push eax
lea ecx, [ebp - 0x41e]
push ecx
mov word [ebp - 0x420], ax
call fcn.004c24e0
mov eax, dword [ebp - 0x43c]
add esp, 0xc
cmp dword [ebp - 0x428], 8
jae 0x45f3fe
lea eax, [ebp - 0x43c]
push eax
push 0x104
lea edx, [ebp - 0x420]
push edx
push 0x510888
push str.version
push str.UpdateParam
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
jne 0x45f478
mov eax, dword [0x54eee0]
test eax, eax
je 0x45f45d
cmp dword [eax + 8], 4
mov edi, eax
jl 0x45f45d
push 0x51ab6c
push 4
push ecx
mov esi, 0x8b
mov ecx, 0x51ac7c
mov eax, esp
mov dword [ebp - 0x524], esp
push eax
call fcn.0042ef60
push edi
mov ecx, esi
call fcn.0042cbc0
lea ecx, [ebp - 0x500]
call fcn.004077e0
lea ecx, [ebp - 0x43c]
call fcn.004077e0
jmp 0x460070
mov eax, 7
xor esi, esi
xor ecx, ecx
mov dword [ebp - 0x444], eax
mov dword [ebp - 0x448], esi
mov word [ebp - 0x458], cx
xor edx, edx
mov dword [ebp - 0x460], eax
mov dword [ebp - 0x464], esi
mov word [ebp - 0x474], dx
lea edi, [ebp - 0x4e4]
mov byte [ebp - 4], 3
call fcn.0040ec30
mov eax, edi
push eax
mov eax, str.UpdateScript.XML
mov byte [ebp - 4], 4
call fcn.004075b0
cmp dword [ebp - 0x4d0], 8
mov ecx, dword [ebp - 0x4e4]
jae 0x45f4da
mov ecx, edi
lea edx, [ebp - 0x528]
push edx
call fcn.004668e0
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x528]
push eax
lea ecx, [ebp - 0x4c8]
call fcn.00407da0
mov byte [ebp - 4], 6
mov dword [ebp - 0x530], 1
call fcn.004477b0
lea ecx, [ebp - 0x4c8]
call fcn.00440cf0
test al, al
je 0x45f531
call fcn.004477b0
push eax
call fcn.00441320
test al, al
je 0x45f531
xor bl, bl
jmp 0x45f533
mov bl, 1
lea ecx, [ebp - 0x4c8]
mov dword [ebp - 4], 5
call fcn.00401ea0
test bl, bl
je 0x45f58f
mov eax, dword [0x54eee0]
cmp eax, esi
je 0x45f7bd
cmp dword [eax + 8], 2
mov edi, eax
jl 0x45f7bd
push 0x51ab6c
push 2
push ecx
mov ecx, esp
mov dword [ebp - 0x524], esp
push ecx
mov ecx, 0x517e14
mov esi, 0x99
call fcn.0042ef60
push edi
mov ecx, esi
call fcn.0042cbc0
jmp 0x45f7bd
call fcn.004477b0
push eax
call fcn.00440dd0
call fcn.004477b0
mov ecx, dword [ebp - 0x52c]
push 0xffffffffffffffff
lea esi, [eax + 0x40]
push 0
add ecx, 8
push esi
mov dword [ebp - 0x524], ecx
call fcn.00407f10
cmp dword [esi + 0x14], 8
jb 0x45f5c5
mov eax, dword [esi]
jmp 0x45f5c7
mov eax, esi
lea ecx, [ebp - 0x420]
lea ecx, [ecx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45f5f6
test dx, dx
je 0x45f5f2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45f5f6
add eax, 4
add ecx, 4
test dx, dx
jne 0x45f5d0
xor eax, eax
jmp 0x45f5fb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x45f645
mov eax, dword [0x54eee0]
test eax, eax
je 0x45f7bd
cmp dword [eax + 8], 2
mov edi, eax
jl 0x45f7bd
push 0x51ab6c
push 2
push ecx
mov edx, esp
mov dword [ebp - 0x524], esp
push edx
mov ecx, 0x51ac94
mov esi, 0xa1
call fcn.0042ef60
push edi
mov ecx, esi
call fcn.0042cbc0
jmp 0x45f7bd
call fcn.004477b0
push eax
call fcn.004417a0
test al, al
jne 0x45f69a
mov eax, dword [0x54eee0]
test eax, eax
je 0x45f7bd
cmp dword [eax + 8], 2
mov edi, eax
jl 0x45f7bd
push 0x51ab6c
push 2
push ecx
mov eax, esp
mov dword [ebp - 0x524], esp
push eax
mov ecx, 0x51ab9c
mov esi, 0xa6
call fcn.0042ef60
push edi
mov ecx, esi
call fcn.0042cbc0
jmp 0x45f7bd
lea edi, [ebp - 0x4c8]
call fcn.0040ec30
mov esi, dword [ebp - 0x52c]
add esi, 0xc4
mov edi, eax
mov byte [ebp - 4], 7
mov dword [ebp - 0x544], esi
call fcn.00407640
lea ecx, [ebp - 0x4c8]
mov byte [ebp - 4], 5
call fcn.004077e0
call fcn.004477b0
mov ebx, eax
call fcn.00441f90
call fcn.004477b0
mov ebx, eax
call fcn.00442000
call fcn.004477b0
mov ebx, eax
call fcn.004420f0
mov esi, dword [ebp - 0x52c]
lea ecx, [ebp - 0x458]
push ecx
lea ecx, [ebp - 0x474]
mov edx, esi
call fcn.00461c60
test al, al
jne 0x45f735
cmp dword [ebp - 0x444], 8
mov eax, dword [ebp - 0x458]
jae 0x45f728
lea eax, [ebp - 0x458]
push eax
push 0x51acbc
mov edx, 0xb1
jmp 0x45f7a6
call fcn.004477b0
mov ebx, dword [ebp - 0x534]
push ebx
lea edi, [eax + 0x1b4]
call fcn.00442740
add esp, 4
call fcn.004477b0
push ebx
lea ebx, [eax + 0x184]
call fcn.00442890
add esp, 4
lea edx, [ebp - 0x458]
push edx
lea ecx, [ebp - 0x474]
mov edx, esi
call fcn.00464ed0
test al, al
jne 0x45f848
mov ecx, esi
call fcn.004662b0
cmp dword [ebp - 0x444], 8
mov eax, dword [ebp - 0x458]
jae 0x45f79b
lea eax, [ebp - 0x458]
push eax
push 0x51acdc
mov edx, 0xba
push 0x51ab6c
mov esi, 2
mov eax, 0x54eee0
call fcn.0042bb60
add esp, 0xc
lea eax, [ebp - 0x528]
call fcn.00413240
lea ecx, [ebp - 0x4e4]
call fcn.004077e0
lea ecx, [ebp - 0x474]
call fcn.004077e0
lea ecx, [ebp - 0x458]
mov byte [ebp - 4], 1
call fcn.004077e0
cmp dword [ebp - 0x428], 8
mov eax, dword [ebp - 0x43c]
jae 0x45f802
lea eax, [ebp - 0x43c]
push eax
push 0x51ac40
push str.UpdateStep
push str.QuietUpdate
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov eax, dword [0x54eee0]
test eax, eax
je 0x45f45d
cmp dword [eax + 8], 2
mov edi, eax
jl 0x45f45d
push 0x51ab6c
push 2
push ecx
mov esi, 0x123
mov ecx, 0x51aea0
jmp 0x45f447
mov eax, dword [esi + 0x98]
test eax, eax
je 0x45f872
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [esi + 0x98]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi + 0x98], 0
lea ebx, [esi + 0x78]
mov edi, 8
cmp dword [ebx + 0x14], edi
jb 0x45f883
mov eax, dword [ebx]
jmp 0x45f885
mov eax, ebx
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x45f905
lea edx, [ebp - 0x474]
push edx
mov edx, 0x51acfc
call fcn.00408590
lea eax, [ebp - 0x458]
push eax
mov edx, 0x51ad04
call fcn.00408590
mov ecx, dword [ebp - 0x474]
cmp dword [ebp - 0x460], edi
jae 0x45f8c6
lea ecx, [ebp - 0x474]
mov eax, dword [ebp - 0x458]
cmp dword [ebp - 0x444], edi
jae 0x45f8da
lea eax, [ebp - 0x458]
push ecx
push eax
push 0x51ad20
push 0x51ab6c
mov edx, 0xcc
mov esi, 2
mov eax, 0x54eee0
call fcn.0042bb60
mov edi, dword [ebp - 0x52c]
jmp 0x45f9d6
mov edi, dword [ebp - 0x52c]
xor eax, eax
mov dword [ebp - 0x53c], esi
lea esi, [ebp - 0x4c8]
mov edx, edi
mov dword [ebp - 0x540], eax
mov dword [ebp - 0x538], eax
call fcn.0045e660
push 0x54eec0
lea ecx, [ebp - 0x458]
push ecx
lea edx, [ebp - 0x540]
push edx
mov ecx, ebx
mov byte [ebp - 4], 8
call fcn.00402910
add esp, 0xc
test al, al
mov ecx, esi
sete byte [ebp - 0x51d]
mov byte [ebp - 4], 5
call fcn.004077e0
cmp byte [ebp - 0x51d], 0
je 0x45f9d9
mov esi, 8
cmp dword [ebx + 0x14], esi
jb 0x45f976
mov ebx, dword [ebx]
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea eax, [ebp - 0x474]
push eax
mov edx, 0x51ad64
call fcn.00408590
mov ecx, dword [ebp - 0x474]
cmp dword [ebp - 0x460], esi
jae 0x45f9a2
lea ecx, [ebp - 0x474]
mov eax, dword [ebp - 0x458]
cmp dword [ebp - 0x444], esi
jae 0x45f9b6
lea eax, [ebp - 0x458]
push ecx
push eax
push 0x51ad70
push 0x51ab6c
mov edx, 0xd9
mov esi, 2
mov eax, 0x54eee0
call fcn.0042bb60
add esp, 0x10
mov eax, dword [edi + 0x94]
test eax, eax
je 0x45fa03
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [edi + 0x94]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [edi + 0x94], 0
lea ebx, [edi + 0x5c]
mov esi, 8
cmp dword [ebx + 0x14], esi
jb 0x45fa14
mov eax, dword [ebx]
jmp 0x45fa16
mov eax, ebx
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x45fa7c
lea edx, [ebp - 0x474]
push edx
mov edx, 0x51acfc
call fcn.00408590
lea eax, [ebp - 0x458]
push eax
mov edx, 0x51adb4
call fcn.00408590
mov ecx, dword [ebp - 0x474]
cmp dword [ebp - 0x460], esi
jae 0x45fa57
lea ecx, [ebp - 0x474]
mov eax, dword [ebp - 0x458]
cmp dword [ebp - 0x444], esi
jae 0x45fa6b
lea eax, [ebp - 0x458]
push ecx
push eax
push 0x51adc4
mov edx, 0xef
jmp 0x45fb33
xor eax, eax
lea esi, [ebp - 0x4c8]
mov edx, edi
mov dword [ebp - 0x540], eax
mov dword [ebp - 0x53c], edi
mov dword [ebp - 0x538], eax
call fcn.0045e660
push 0x54eec0
lea ecx, [ebp - 0x458]
push ecx
lea edx, [ebp - 0x540]
push edx
mov ecx, ebx
mov byte [ebp - 4], 9
call fcn.00402910
add esp, 0xc
test al, al
mov ecx, esi
sete byte [ebp - 0x51d]
mov byte [ebp - 4], 5
call fcn.004077e0
cmp byte [ebp - 0x51d], 0
je 0x45fb4a
mov esi, 8
cmp dword [ebx + 0x14], esi
jb 0x45fae7
mov ebx, dword [ebx]
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea eax, [ebp - 0x474]
push eax
mov edx, 0x51ad64
call fcn.00408590
mov ecx, dword [ebp - 0x474]
cmp dword [ebp - 0x460], esi
jae 0x45fb13
lea ecx, [ebp - 0x474]
mov eax, dword [ebp - 0x458]
cmp dword [ebp - 0x444], esi
jae 0x45fb27
lea eax, [ebp - 0x458]
push ecx
push eax
push 0x51ae00
mov edx, 0xfc
push 0x51ab6c
mov esi, 2
mov eax, 0x54eee0
call fcn.0042bb60
add esp, 0x10
lea esi, [ebp - 0x4ac]
mov edx, edi
call fcn.0045e660
push eax
mov eax, str.dataconfig.ini
lea ecx, [ebp - 0x490]
mov byte [ebp - 4], 0xa
call fcn.00406d60
add esp, 4
mov esi, eax
lea ecx, [ebp - 0x4c8]
push ecx
mov ecx, 0x54c674
mov byte [ebp - 4], 0xb
call fcn.00467250
mov ebx, 8
add esp, 4
cmp dword [esi + 0x14], ebx
jb 0x45fb95
mov esi, dword [esi]
cmp dword [eax + 0x14], ebx
jb 0x45fb9c
mov eax, dword [eax]
push esi
push eax
push str.channel
push 0x510614
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea ecx, [ebp - 0x4c8]
call fcn.004077e0
lea ecx, [ebp - 0x490]
call fcn.004077e0
lea ecx, [ebp - 0x4ac]
mov byte [ebp - 4], 5
call fcn.004077e0
lea esi, [ebp - 0x490]
mov edx, edi
call fcn.0045e660
push eax
mov eax, str.dataconfig.ini
lea ecx, [ebp - 0x4ac]
mov byte [ebp - 4], 0xc
call fcn.00406d60
add esp, 4
cmp dword [eax + 0x14], ebx
jb 0x45fbff
mov eax, dword [eax]
push eax
push str.MediaTaskMgr.dll
push str.MediaTaskMgrModule
push 0x510614
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea ecx, [ebp - 0x4ac]
call fcn.004077e0
lea ecx, [ebp - 0x490]
mov byte [ebp - 4], 5
call fcn.004077e0
call fcn.0040f6f0
lea esi, [ebp - 0x490]
mov edx, edi
test al, al
je 0x45fcdb
call fcn.0045e660
push eax
mov eax, str.WEMedia_xp.exe
lea ecx, [ebp - 0x4ac]
mov byte [ebp - 4], 0xd
call fcn.00406d60
add esp, 4
cmp dword [eax + 0x14], ebx
jb 0x45fc68
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea ecx, [ebp - 0x4ac]
call fcn.004077e0
lea ecx, [ebp - 0x490]
mov byte [ebp - 4], 5
call fcn.004077e0
lea esi, [ebp - 0x490]
mov edx, edi
call fcn.0045e660
push eax
mov eax, str.WEMediaPlatform_xp.exe
lea ecx, [ebp - 0x4ac]
mov byte [ebp - 4], 0xe
call fcn.00406d60
add esp, 4
cmp dword [eax + 0x14], ebx
jb 0x45fcb5
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea ecx, [ebp - 0x4ac]
call fcn.004077e0
lea ecx, [ebp - 0x490]
mov byte [ebp - 4], 5
call fcn.004077e0
jmp 0x45fea5
call fcn.0045e660
push eax
mov eax, str.WEMedia.exe
lea ecx, [ebp - 0x4ac]
mov byte [ebp - 4], 0xf
call fcn.00406d60
add esp, 4
cmp dword [eax + 0x14], ebx
jb 0x45fcff
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea ecx, [ebp - 0x4ac]
call fcn.004077e0
lea ecx, [ebp - 0x490]
mov byte [ebp - 4], 5
call fcn.004077e0
lea esi, [ebp - 0x490]
mov edx, edi
call fcn.0045e660
push eax
mov eax, str.WEMediaPlatform.exe
lea ecx, [ebp - 0x4ac]
mov byte [ebp - 4], 0x10
call fcn.00406d60
add esp, 4
cmp dword [eax + 0x14], ebx
jb 0x45fd4c
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea ecx, [ebp - 0x4ac]
call fcn.004077e0
lea ecx, [ebp - 0x490]
mov byte [ebp - 4], 5
call fcn.004077e0
lea esi, [ebp - 0x51c]
mov edx, edi
call fcn.0045e660
push eax
mov eax, str.WEMedia.exe
lea ecx, [ebp - 0x4c8]
mov byte [ebp - 4], 0x11
call fcn.00406d60
add esp, 4
mov ebx, eax
lea esi, [ebp - 0x490]
mov edx, edi
mov byte [ebp - 4], 0x12
call fcn.0045e660
push eax
mov eax, str.WEMedia_xp.exe
lea ecx, [ebp - 0x4ac]
mov byte [ebp - 4], 0x13
call fcn.00406d60
mov ecx, 8
add esp, 4
cmp dword [ebx + 0x14], ecx
jb 0x45fdc9
mov ebx, dword [ebx]
cmp dword [eax + 0x14], ecx
jb 0x45fdd0
mov eax, dword [eax]
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileW]
lea ecx, [ebp - 0x4ac]
call fcn.004077e0
lea ecx, [ebp - 0x490]
call fcn.004077e0
lea ecx, [ebp - 0x4c8]
call fcn.004077e0
lea ecx, [ebp - 0x51c]
mov byte [ebp - 4], 5
call fcn.004077e0
lea esi, [ebp - 0x4c8]
mov edx, edi
call fcn.0045e660
push eax
mov eax, str.WEMediaPlatform.exe
lea ecx, [ebp - 0x490]
mov byte [ebp - 4], 0x14
call fcn.00406d60
add esp, 4
mov ebx, eax
lea esi, [ebp - 0x4ac]
mov edx, edi
mov byte [ebp - 4], 0x15
call fcn.0045e660
push eax
mov eax, str.WEMediaPlatform_xp.exe
lea ecx, [ebp - 0x51c]
mov byte [ebp - 4], 0x16
call fcn.00406d60
add esp, 4
cmp dword [ebx + 0x14], 8
jb 0x45fe60
mov ebx, dword [ebx]
cmp dword [eax + 0x14], 8
jb 0x45fe68
mov eax, dword [eax]
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileW]
lea ecx, [ebp - 0x51c]
call fcn.004077e0
lea ecx, [ebp - 0x4ac]
call fcn.004077e0
lea ecx, [ebp - 0x490]
call fcn.004077e0
lea ecx, [ebp - 0x4c8]
mov byte [ebp - 4], 5
call fcn.004077e0
mov ebx, 8
call fcn.004438a0
mov dl, byte [eax + 0xfe]
mov byte [ebp - 0x530], dl
mov eax, dword [ebp - 0x530]
push eax
push edi
lea ecx, [ebp - 0x458]
call fcn.00465570
call fcn.004477b0
mov ecx, dword [ebp - 0x534]
push ecx
lea edi, [eax + 0x1c4]
call fcn.00442740
mov eax, dword [ebp - 0x544]
add esp, 4
cmp dword [eax + 0x14], ebx
jb 0x45fef0
mov eax, dword [eax]
push eax
call fcn.00402580
add esp, 4
call fcn.0040f760
mov eax, dword [ebp - 0x43c]
cmp dword [ebp - 0x428], ebx
jae 0x45ff12
lea eax, [ebp - 0x43c]
mov esi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
push eax
push str.HasQuietUpdate
push str.UpdateStep
push str.QuietUpdate
call esi
mov edi, dword [ebp - 0x43c]
cmp dword [ebp - 0x428], ebx
jae 0x45ff3e
lea edi, [ebp - 0x43c]
call fcn.004438a0
add eax, 0x8c
cmp dword [eax + 0x14], ebx
jb 0x45ff4f
mov eax, dword [eax]
push edi
push eax
push str.OldVersion
push str.QuietUpdate
call esi
mov ecx, dword [ebp - 0x43c]
cmp dword [ebp - 0x428], ebx
jae 0x45ff71
lea ecx, [ebp - 0x43c]
mov eax, dword [ebp - 0x524]
cmp dword [eax + 0x14], ebx
jb 0x45ff7e
mov eax, dword [eax]
push ecx
push eax
push str.CurVersion
push str.QuietUpdate
call esi
mov eax, dword [0x54eee0]
test eax, eax
je 0x45ffc5
cmp dword [eax + 8], 4
mov edi, eax
jl 0x45ffc5
push 0x51ab6c
push 4
push ecx
mov edx, esp
mov dword [ebp - 0x524], esp
push edx
mov ecx, 0x51ae8c
mov esi, 0x11e
call fcn.0042ef60
push edi
mov ecx, esi
call fcn.0042cbc0
lea eax, [ebp - 0x528]
call fcn.00413240
lea ecx, [ebp - 0x4e4]
call fcn.004077e0
lea ecx, [ebp - 0x474]
call fcn.004077e0
lea ecx, [ebp - 0x458]
call fcn.004077e0
lea ecx, [ebp - 0x500]
call fcn.004077e0
lea ecx, [ebp - 0x43c]
call fcn.004077e0
mov eax, 1
jmp 0x460072
mov eax, dword [0x54eee0]
test eax, eax
je 0x460047
cmp dword [eax + 8], 4
mov ebx, eax
jl 0x460047
push 0x51ab6c
push 4
push ecx
mov eax, esp
mov dword [ebp - 0x524], esp
push eax
mov ecx, 0x51ac60
mov esi, 0x83
call fcn.0042ef60
push ebx
mov ecx, esi
call fcn.0042cbc0
cmp dword [ebp - 0x428], 8
jb 0x460070
mov ecx, dword [ebp - 0x43c]
push ecx
jmp 0x460068
cmp dword [ebp - 0x428], edi
jb 0x460070
mov edx, dword [ebp - 0x43c]
push edx
call fcn.004ba3a4
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.004ba3af
mov esp, ebp
pop ebp
ret