Function at 0x4031cb
Capabilities:
Contain obfuscated stackstrings
Copy file
Create directory
Get common file path
Get program files directory
Get startup folder
Persist via lnk shortcut
Set registry value
Write file to startup folder

Disassembly:
push 0x474
mov eax, 0x5366e4
call fcn.0050e6b2
cmp byte [0x58ffee], 0
je 0x4031ea
mov byte [0x589f73], 0
cmp byte [0x589f73], 0
je 0x403215
push ecx
mov eax, esp
mov dword [ebp - 0x450], esp
push str.backup_approved
push eax
call fcn.004024e4
and dword [ebp - 4], 0
or dword [ebp - 4], 0xffffffff
call fcn.00404aa7
pop ecx
call fcn.0040314f
push 9
lea eax, [ebp - 0x42c]
push eax
call fcn.0040955a
mov dword [ebp - 4], 1
mov edi, 0x59002c
call fcn.00402b48
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x42c]
call fcn.00401781
xor eax, eax
mov word [ebp - 0x480], ax
lea edi, [ebp - 0x47e]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp - 0x480]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov ebx, 0x59004c
push ebx
lea eax, [ebp - 0x460]
push eax
call fcn.00405b5d
mov dword [ebp - 4], 2
push str.PCProSettingsLocal
lea eax, [ebp - 0x460]
push eax
call fcn.00406776
push 0
push dword [ebp - 0x460]
mov esi, dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
call esi
push dword [ebp - 0x460]
call fcn.00403042
pop ecx
mov eax, dword [0x590164]
mov eax, dword [eax - 0xc]
test eax, eax
je 0x4032fd
lea ecx, [eax - 1]
call fcn.00405adb
cmp ax, 0x5c
jne 0x4032fd
mov eax, dword [0x590164]
mov eax, dword [eax - 0xc]
lea ecx, [eax - 1]
lea eax, [ebp - 0x42c]
push eax
call fcn.004059d4
mov byte [ebp - 4], 3
mov edi, 0x590164
call fcn.00402b48
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x42c]
call fcn.00401781
push 0x590164
lea eax, [ebp - 0x444]
push eax
call fcn.00405b5d
mov byte [ebp - 4], 4
push 0
push dword [ebp - 0x444]
call esi
push dword [ebp - 0x444]
call fcn.00403042
pop ecx
lea eax, [ebp - 0x444]
push eax
lea eax, [ebp - 0x458]
push eax
call fcn.00405b5d
mov byte [ebp - 4], 5
push dword [ebp - 0x458]
call fcn.00404f6d
mov dword [esp], str.PCCle
lea eax, [ebp - 0x43c]
push eax
call fcn.004024e4
mov edi, eax
mov byte [ebp - 4], 6
push 0x562eb0
lea eax, [ebp - 0x434]
push eax
lea ecx, [ebp - 0x444]
call fcn.00405a83
mov byte [ebp - 4], 7
push edi
lea ecx, [ebp - 0x430]
push ecx
mov esi, eax
call fcn.00405a31
mov byte [ebp - 4], 8
push 0x562eb4
lea ecx, [ebp - 0x42c]
push ecx
mov ecx, eax
call fcn.00405a83
add esp, 0x18
mov byte [ebp - 4], 9
lea edi, [ebp - 0x444]
call fcn.00402b48
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x42c]
call fcn.00401781
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x430]
call fcn.00401781
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x434]
call fcn.00401781
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x43c]
call fcn.00401781
xor esi, esi
push esi
push 6
lea eax, [ebp - 0x46c]
push eax
call fcn.004093b1
mov byte [ebp - 4], 0xa
push esi
push dword [ebp - 0x468]
push dword [ebp - 0x46c]
push dword [ebp - 0x444]
call fcn.0040e900
add esp, 0x10
cmp byte [0x589f72], 0
je 0x403437
push dword [ebp - 0x444]
call fcn.004052f7
pop ecx
push dword [ebp - 0x444]
call fcn.00403042
pop ecx
lea eax, [ebp - 0x444]
mov edi, 0x590028
call fcn.00402b48
xor eax, eax
mov word [ebp - 0x428], ax
push 0x206
push esi
lea eax, [ebp - 0x426]
push eax
call fcn.0050d860
add esp, 0xc
push 0x104
lea eax, [ebp - 0x428]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push ebx
lea eax, [ebp - 0x44c]
push eax
call fcn.00405b5d
mov byte [ebp - 4], 0xb
push str._appc
lea eax, [ebp - 0x430]
push eax
call fcn.004024e4
mov byte [ebp - 4], 0xc
push str.lunst.exe
lea ecx, [ebp - 0x42c]
push ecx
mov ecx, eax
call fcn.00405a83
pop ecx
pop ecx
mov byte [ebp - 4], 0xd
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
lea eax, [ebp - 0x44c]
call fcn.004066f7
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x42c]
call fcn.00401781
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x430]
call fcn.00401781
lea eax, [ebp - 0x44c]
push eax
lea eax, [ebp - 0x470]
push eax
call fcn.00405b5d
mov byte [ebp - 4], 0xe
push esi
push dword [ebp - 0x44c]
lea eax, [ebp - 0x428]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
push 0x10
lea eax, [ebp - 0x464]
push eax
call fcn.0040955a
mov byte [ebp - 4], 0xf
mov ebx, str.SOFTWAREMicrosoftWindowsCurrentVersionUninstallPC_Cle
push ebx
lea eax, [ebp - 0x430]
push eax
call fcn.004024e4
mov byte [ebp - 4], 0x10
mov edi, str.aners
push edi
lea ecx, [ebp - 0x42c]
push ecx
mov ecx, eax
call fcn.00405a83
pop ecx
pop ecx
mov byte [ebp - 4], 0x11
mov edx, dword [ebp - 0x464]
mov ecx, dword [edx - 0xc]
mov eax, dword [eax]
add ecx, ecx
push ecx
push edx
push 1
push str.DisplayName
push eax
push SysReAllocString
call dword [sym.imp.SHLWAPI.dll_SHSetValueW]
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x42c]
call fcn.00401781
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x430]
call fcn.00401781
push ebx
lea eax, [ebp - 0x430]
push eax
call fcn.004024e4
mov byte [ebp - 4], 0x12
push edi
lea ecx, [ebp - 0x42c]
push ecx
mov ecx, eax
call fcn.00405a83
mov byte [ebp - 4], 0x13
push dword [eax]
call fcn.00402ef4
add esp, 0xc
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x42c]
call fcn.00401781
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x430]
call fcn.00401781
and dword [ebp - 0x438], 0
mov eax, dword [ebp - 0x44c]
mov esi, dword [eax - 0xc]
test esi, esi
jge 0x403605
mov dword [ebp - 0x438], esi
mov eax, 0x563138
call fcn.00402284
mov dword [ebp - 0x42c], eax
test eax, eax
jle 0x403696
add esi, eax
mov dword [ebp - 0x43c], esi
push esi
lea esi, [ebp - 0x44c]
call fcn.004018c7
mov edx, dword [ebp - 0x43c]
mov esi, dword [ebp - 0x42c]
sub edx, esi
mov ecx, dword [ebp - 0x438]
sub edx, ecx
lea edx, [edx + edx + 2]
mov dword [ebp - 0x438], edx
lea edx, [eax + ecx*2]
mov dword [ebp - 0x440], edx
push dword [ebp - 0x438]
push edx
push dword [ebp - 0x438]
add ecx, esi
lea eax, [eax + ecx*2]
push eax
call fcn.00402265
add esi, esi
push esi
push 0x563138
push esi
push dword [ebp - 0x440]
call fcn.00402246
add esp, 0x20
mov eax, dword [ebp - 0x43c]
lea edx, [ebp - 0x44c]
call fcn.00401921
push 0x56313c
lea eax, [ebp - 0x44c]
push eax
call fcn.00406776
push dword [ebp - 0x44c]
call fcn.00403042
pop ecx
push 0
lea eax, [ebp - 0x438]
push eax
call fcn.00404ede
mov byte [ebp - 4], 0x14
push 1
lea eax, [ebp - 0x43c]
push eax
call fcn.00404ede
mov byte [ebp - 4], 0x15
lea eax, [ebp - 0x444]
push eax
lea ecx, [ebp - 0x438]
lea edx, [ebp - 0x43c]
call fcn.0040af09
add esp, 0x14
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x43c]
call fcn.00401781
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x438]
call fcn.00401781
mov byte [ebp - 4], 0x16
push ebx
lea eax, [ebp - 0x434]
push eax
call fcn.004024e4
mov byte [ebp - 4], 0x17
push edi
lea ecx, [ebp - 0x430]
push ecx
mov ecx, eax
call fcn.00405a83
pop ecx
pop ecx
mov byte [ebp - 4], 0x18
mov ecx, dword [ebp - 0x444]
mov ecx, dword [ecx - 0xc]
mov eax, dword [eax]
mov dword [ebp - 0x42c], eax
lea eax, [ecx + ecx]
push eax
lea esi, [ebp - 0x444]
call fcn.00401d81
push eax
push 1
push str.DisplayIcon
push dword [ebp - 0x42c]
push SysReAllocString
call dword [sym.imp.SHLWAPI.dll_SHSetValueW]
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x430]
call fcn.00401781
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x434]
call fcn.00401781
push ebx
lea eax, [ebp - 0x434]
push eax
call fcn.004024e4
mov byte [ebp - 4], 0x19
push edi
lea ecx, [ebp - 0x430]
push ecx
mov ecx, eax
call fcn.00405a83
pop ecx
pop ecx
mov byte [ebp - 4], 0x1a
mov ecx, dword [ebp - 0x44c]
mov ecx, dword [ecx - 0xc]
mov eax, dword [eax]
mov dword [ebp - 0x42c], eax
lea eax, [ecx + ecx]
push eax
lea esi, [ebp - 0x44c]
call fcn.00401d81
push eax
push 1
push str.UninstallString
push dword [ebp - 0x42c]
push SysReAllocString
call dword [sym.imp.SHLWAPI.dll_SHSetValueW]
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x430]
call fcn.00401781
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x434]
call fcn.00401781
push str.PC_Cle
lea eax, [ebp - 0x42c]
push eax
call fcn.004024e4
mov byte [ebp - 4], 0x1b
push edi
lea ecx, [ebp - 0x438]
push ecx
mov ecx, eax
call fcn.00405a83
pop ecx
pop ecx
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x42c]
call fcn.00401781
push ebx
lea eax, [ebp - 0x434]
push eax
call fcn.004024e4
mov byte [ebp - 4], 0x1e
push edi
lea ecx, [ebp - 0x430]
push ecx
mov ecx, eax
call fcn.00405a83
pop ecx
pop ecx
mov byte [ebp - 4], 0x1f
mov ecx, dword [ebp - 0x438]
mov ecx, dword [ecx - 0xc]
mov eax, dword [eax]
mov dword [ebp - 0x42c], eax
lea eax, [ecx + ecx]
push eax
lea esi, [ebp - 0x438]
call fcn.00401d81
push eax
push 1
push str.Publisher
push dword [ebp - 0x42c]
push SysReAllocString
call dword [sym.imp.SHLWAPI.dll_SHSetValueW]
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x430]
call fcn.00401781
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x434]
call fcn.00401781
push ebx
lea eax, [ebp - 0x434]
push eax
call fcn.004024e4
mov byte [ebp - 4], 0x20
push edi
lea ecx, [ebp - 0x430]
push ecx
mov ecx, eax
call fcn.00405a83
pop ecx
pop ecx
mov byte [ebp - 4], 0x21
mov ecx, dword [ebp - 0x458]
mov ecx, dword [ecx - 0xc]
mov eax, dword [eax]
mov dword [ebp - 0x42c], eax
lea eax, [ecx + ecx]
push eax
lea esi, [ebp - 0x458]
call fcn.00401d81
push eax
push 1
push str.InstallLocation
push dword [ebp - 0x42c]
push SysReAllocString
call dword [sym.imp.SHLWAPI.dll_SHSetValueW]
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x430]
call fcn.00401781
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x434]
call fcn.00401781
push ebx
lea eax, [ebp - 0x434]
push eax
call fcn.004024e4
mov byte [ebp - 4], 0x22
push edi
lea ecx, [ebp - 0x430]
push ecx
mov ecx, eax
call fcn.00405a83
pop ecx
pop ecx
mov byte [ebp - 4], 0x23
mov ecx, dword [ebp - 0x458]
mov ecx, dword [ecx - 0xc]
mov eax, dword [eax]
mov dword [ebp - 0x42c], eax
lea eax, [ecx + ecx]
push eax
call fcn.00401d81
push eax
push 1
push str.InstallLocation
push dword [ebp - 0x42c]
push SysReAllocString
mov esi, dword [sym.imp.SHLWAPI.dll_SHSetValueW]
call esi
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x430]
call fcn.00401781
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x434]
call fcn.00401781
mov dword [ebp - 0x43c], 0xe
and dword [ebp - 0x448], 0
push str.14.0
lea eax, [ebp - 0x440]
push eax
call fcn.004024e4
mov byte [ebp - 4], 0x24
push ebx
lea eax, [ebp - 0x430]
push eax
call fcn.004024e4
mov byte [ebp - 4], 0x25
push edi
lea ecx, [ebp - 0x42c]
push ecx
mov ecx, eax
call fcn.00405a83
pop ecx
pop ecx
mov byte [ebp - 4], 0x26
mov eax, dword [eax]
push 4
lea ecx, [ebp - 0x43c]
push ecx
push 4
push str.VersionMajor
push eax
push SysReAllocString
call esi
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x42c]
call fcn.00401781
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x430]
call fcn.00401781
push ebx
lea eax, [ebp - 0x430]
push eax
call fcn.004024e4
mov byte [ebp - 4], 0x27
push edi
lea ecx, [ebp - 0x42c]
push ecx
mov ecx, eax
call fcn.00405a83
pop ecx
pop ecx
mov byte [ebp - 4], 0x28
mov eax, dword [eax]
push 4
lea ecx, [ebp - 0x448]
push ecx
push 4
push str.VersionMinor
push eax
push SysReAllocString
call esi
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x42c]
call fcn.00401781
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x430]
call fcn.00401781
push 7
lea eax, [ebp - 0x434]
push eax
call fcn.0040955a
mov esi, eax
mov byte [ebp - 4], 0x29
push ebx
lea eax, [ebp - 0x430]
push eax
call fcn.004024e4
mov byte [ebp - 4], 0x2a
push edi
lea ecx, [ebp - 0x42c]
push ecx
mov ecx, eax
call fcn.00405a83
pop ecx
pop ecx
mov byte [ebp - 4], 0x2b
mov ecx, dword [ebp - 0x440]
mov ecx, dword [ecx - 0xc]
mov edi, dword [esi]
mov ebx, dword [eax]
lea eax, [ecx + ecx]
push eax
lea esi, [ebp - 0x440]
call fcn.00401d81
push eax
push 1
push edi
push ebx
push SysReAllocString
call dword [sym.imp.SHLWAPI.dll_SHSetValueW]
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x42c]
call fcn.00401781
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x430]
call fcn.00401781
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x434]
call fcn.00401781
mov byte [ebp - 4], 0x1d
mov ecx, esi
call fcn.00401781
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x438]
call fcn.00401781
mov dword [ebp - 4], 0xf
mov byte [ebp - 4], 0x2d
push 1
push 2
lea eax, [ebp - 0x220]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea edi, [ebp - 0x220]
dec edi
dec edi
mov ax, word [edi + 2]
inc edi
inc edi
test ax, ax
jne 0x403b6b
mov ebx, 0x562eb0
mov esi, ebx
movsd dword es:[edi], dword [esi]
push 0x10
lea eax, [ebp - 0x448]
push eax
call fcn.0040955a
mov byte [ebp - 4], 0x2e
mov eax, dword [eax]
mov esi, eax
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x403b94
sub eax, esi
lea edi, [ebp - 0x220]
dec edi
dec edi
mov cx, word [edi + 2]
inc edi
inc edi
test cx, cx
jne 0x403ba8
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x448]
call fcn.00401781
push 0
lea eax, [ebp - 0x220]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
lea eax, [ebp - 0x220]
push eax
call fcn.00403042
pop ecx
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x42c]
push eax
call fcn.004024e4
mov byte [ebp - 4], 0x2f
push str.Uninstall_PC_Cle
lea eax, [ebp - 0x43c]
push eax
call fcn.004024e4
mov edi, eax
mov byte [ebp - 4], 0x30
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x434]
push eax
call fcn.004024e4
mov byte [ebp - 4], 0x31
push edi
lea ecx, [ebp - 0x448]
push ecx
mov esi, eax
call fcn.00405a31
mov byte [ebp - 4], 0x32
push str.aner_Pro.lnk
lea ecx, [ebp - 0x450]
push ecx
mov ecx, eax
call fcn.00405a83
add esp, 0x10
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x448]
call fcn.00401781
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0x434]
call fcn.00401781
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x43c]
call fcn.00401781
lea edi, [ebp - 0x220]
dec edi
dec edi
mov ax, word [edi + 2]
inc edi
inc edi
test ax, ax
jne 0x403c8f
mov esi, ebx
movsd dword es:[edi], dword [esi]
push str.PC_Cle
lea eax, [ebp - 0x434]
push eax
call fcn.004024e4
mov byte [ebp - 4], 0x37
push str.aner_Pro
lea ecx, [ebp - 0x448]
push ecx
mov ecx, eax
call fcn.00405a83
pop ecx
pop ecx
mov byte [ebp - 4], 0x38
mov eax, dword [eax]
mov esi, eax
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x403ccf
sub eax, esi
lea edi, [ebp - 0x220]
dec edi
dec edi
mov cx, word [edi + 2]
inc edi
inc edi
test cx, cx
jne 0x403ce3
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x448]
call fcn.00401781
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x434]
call fcn.00401781
push ecx
mov eax, esp
mov dword [ebp - 0x448], esp
push 0xb
push eax
call fcn.0040955a
mov byte [ebp - 4], 0x39
lea eax, [ebp - 0x438]
push eax
mov byte [ebp - 4], 0x36
call fcn.00405499
mov byte [ebp - 4], 0x3a
lea eax, [ebp - 0x438]
push eax
lea eax, [ebp - 0x434]
push eax
mov ebx, 0x59002c
mov esi, ebx
call fcn.00405a31
mov byte [ebp - 4], 0x3b
push 0x563138
lea ecx, [ebp - 0x448]
push ecx
mov ecx, eax
call fcn.00405a83
add esp, 0x18
mov byte [ebp - 4], 0x3c
mov edi, ebx
call fcn.00402b48
mov byte [ebp - 4], 0x3b
lea ecx, [ebp - 0x448]
call fcn.00401781
mov byte [ebp - 4], 0x3a
lea ecx, [ebp - 0x434]
call fcn.00401781
lea edi, [ebp - 0x220]
dec edi
dec edi
mov ax, word [edi + 2]
inc edi
inc edi
test ax, ax
jne 0x403da8
mov esi, str..lnk
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
push 0x562d5c
lea eax, [ebp - 0x434]
push eax
call fcn.004024e4
mov byte [ebp - 4], 0x3d
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x43c]
push eax
call fcn.004024e4
mov byte [ebp - 4], 0x3e
lea eax, [ebp - 0x444]
push eax
lea ecx, [ebp - 0x434]
lea edx, [ebp - 0x43c]
call fcn.0040af09
pop ecx
mov byte [ebp - 4], 0x3d
lea ecx, [ebp - 0x43c]
call fcn.00401781
mov byte [ebp - 4], 0x3a
lea ecx, [ebp - 0x434]
call fcn.00401781
lea eax, [ebp - 0x430]
push eax
call fcn.00409458
mov byte [ebp - 4], 0x3f
lea eax, [ebp - 0x440]
push eax
call fcn.00405ce4
mov byte [ebp - 4], 0x40
push ecx
mov eax, esp
mov dword [ebp - 0x454], esp
push 8
push eax
call fcn.0040955a
mov byte [ebp - 4], 0x41
lea eax, [ebp - 0x43c]
push eax
mov byte [ebp - 4], 0x40
call fcn.00404ac5
pop ecx
pop ecx
mov byte [ebp - 4], 0x42
push dword [eax]
push ecx
mov eax, esp
mov dword [ebp - 0x454], esp
push 8
push eax
call fcn.0040955a
mov byte [ebp - 4], 0x43
lea eax, [ebp - 0x434]
push eax
mov byte [ebp - 4], 0x42
call fcn.00404ac5
pop ecx
pop ecx
mov byte [ebp - 4], 0x44
push dword [eax]
push ecx
mov eax, esp
mov dword [ebp - 0x454], esp
lea ecx, [ebp - 0x42c]
push ecx
push eax
call fcn.00405b5d
mov byte [ebp - 4], 0x45
lea eax, [ebp - 0x448]
push eax
mov byte [ebp - 4], 0x44
call fcn.00404ac5
pop ecx
pop ecx
mov byte [ebp - 4], 0x46
push dword [eax]
push dword [ebp - 0x430]
lea eax, [ebp - 0x440]
push eax
call fcn.0040639e
add esp, 0x14
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0x448]
call fcn.00405d52
mov byte [ebp - 4], 0x42
lea ecx, [ebp - 0x434]
call fcn.00405d52
mov byte [ebp - 4], 0x40
lea ecx, [ebp - 0x43c]
call fcn.00405d52
mov eax, dword [ebp - 0x440]
mov eax, dword [eax - 0xc]
mov edi, dword [ebp - 0x438]
cdq
push edx
push eax
lea esi, [ebp - 0x440]
call fcn.00405b1e
push eax
push edi
call fcn.00405980
add esp, 0xc
mov eax, esp
mov dword [ebp - 0x454], esp
push ebx
push eax
call fcn.00405b5d
mov byte [ebp - 4], 0x47
mov byte [ebp - 4], 0x40
call fcn.004044a0
pop ecx
mov byte [ebp - 4], 0x3f
mov ecx, esi
call fcn.00405d52
mov byte [ebp - 4], 0x3a
lea ecx, [ebp - 0x430]
call fcn.00405d52
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x438]
call fcn.00401781
mov byte [ebp - 4], 0x2f
lea ecx, [ebp - 0x450]
call fcn.00401781
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x42c]
call fcn.00401781
mov dword [ebp - 4], 0xf
lea eax, [ebp - 0x45c]
push eax
call fcn.0040776d
mov byte [ebp - 4], 0x49
mov byte [ebp - 4], 0x4a
push 0
call fcn.004125fc
mov ecx, eax
lea esi, [ebp - 0x440]
call fcn.004017a4
mov byte [ebp - 4], 0x4b
mov esi, 0x56327c
push esi
lea eax, [ebp - 0x440]
push eax
call fcn.00402499
test al, al
jne 0x403fee
push esi
lea eax, [ebp - 0x440]
push eax
call fcn.00406687
mov byte [ebp - 4], 0x4c
push ecx
mov eax, esp
mov dword [ebp - 0x454], esp
push str.auto
push eax
lea ecx, [ebp - 0x440]
call fcn.00405a83
pop ecx
pop ecx
mov byte [ebp - 4], 0x4d
lea eax, [ebp - 0x45c]
push eax
mov byte [ebp - 4], 0x4c
call fcn.004078c1
mov byte [ebp - 4], 0x4a
lea ecx, [ebp - 0x440]
call fcn.00401781
push dword [0x589f78]
push 0x56328c
lea eax, [ebp - 0x450]
push eax
call fcn.004024e4
mov byte [ebp - 4], 0x4e
push ecx
mov ecx, esp
mov dword [ebp - 0x454], esp
push 0x563280
push ecx
mov ecx, eax
call fcn.00405a83
pop ecx
pop ecx
mov byte [ebp - 4], 0x4f
lea eax, [ebp - 0x45c]
push eax
mov byte [ebp - 4], 0x4e
call fcn.004078c1
mov byte [ebp - 4], 0x4a
lea ecx, [ebp - 0x450]
call fcn.00401781
push dword [ebp - 0x45c]
call fcn.00403042
pop ecx
lea eax, [ebp - 0x45c]
push eax
call fcn.004042c8
pop ecx
mov dword [ebp - 4], 0x49
push ecx
mov eax, esp
mov dword [ebp - 0x454], esp
push str.update_completed
push eax
call fcn.004024e4
mov byte [ebp - 4], 0x51
mov byte [ebp - 4], 0x49
call fcn.00404aa7
pop ecx
cmp byte [0x589f70], 0
je 0x4041d3
mov byte [ebp - 4], 0x52
push str._back
lea eax, [ebp - 0x430]
push eax
call fcn.004024e4
mov byte [ebp - 4], 0x53
push str.groundupgrade
lea ecx, [ebp - 0x42c]
push ecx
mov ecx, eax
call fcn.00405a83
pop ecx
pop ecx
mov esi, eax
mov byte [ebp - 4], 0x54
push str.PC_So
lea eax, [ebp - 0x448]
push eax
call fcn.004024e4
mov byte [ebp - 4], 0x55
push str.ftware_Updater
lea ecx, [ebp - 0x450]
push ecx
mov ecx, eax
call fcn.00405a83
pop ecx
pop ecx
mov byte [ebp - 4], 0x56
mov esi, dword [esi]
mov eax, dword [eax]
push 0
lea ecx, [ebp - 0x480]
push ecx
push 0
push esi
push eax
push dword [ebp - 0x444]
call fcn.0040c78d
add esp, 0x18
mov byte [ebp - 4], 0x55
lea ecx, [ebp - 0x450]
call fcn.00401781
mov byte [ebp - 4], 0x54
lea ecx, [ebp - 0x448]
call fcn.00401781
mov byte [ebp - 4], 0x53
lea ecx, [ebp - 0x42c]
call fcn.00401781
mov byte [ebp - 4], 0x52
lea ecx, [ebp - 0x430]
call fcn.00401781
mov dword [ebp - 4], 0x49
jmp 0x404225
push 1
push str.Disable
lea eax, [ebp - 0x450]
push eax
call fcn.004024e4
mov byte [ebp - 4], 0x58
push ecx
mov ecx, esp
mov dword [ebp - 0x454], esp
push str.dUpdates
push ecx
mov ecx, eax
call fcn.00405a83
pop ecx
pop ecx
mov byte [ebp - 4], 0x59
lea eax, [ebp - 0x45c]
push eax
mov byte [ebp - 4], 0x58
call fcn.004078c1
mov byte [ebp - 4], 0x49
lea ecx, [ebp - 0x450]
call fcn.00401781
cmp byte [0x589f73], 0
je 0x404246
lea eax, [ebp - 0x450]
push eax
call fcn.00402b89
pop ecx
lea ecx, [ebp - 0x450]
call fcn.00401781
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x45c]
push eax
call fcn.0040781a
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x464]
call fcn.00401781
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x470]
call fcn.00401781
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x44c]
call fcn.00401781
mov byte [ebp - 4], 5
and dword [ebp - 0x46c], 0
and dword [ebp - 0x468], 0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x458]
call fcn.00401781
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x444]
call fcn.00401781
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x460]
call fcn.00401781
call fcn.0050e70e
ret