Function at 0x49a983
Capabilities:
Delete file
Move file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a1731
mov eax, dword fs:[0]
push eax
sub esp, 0x50
mov eax, dword [0x4d2a20]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x44], ecx
movzx eax, byte [0x4d376e]
test eax, eax
je 0x49a9d1
push 0x4ae36c
push 0x4ae3a0
push 0x4ae3b0
push 0
push 0
call fcn.00489ffc
add esp, 0x14
and dword [ebp - 0x20], 0
lea ecx, [ebp - 0x14]
call fcn.00401d20
and dword [ebp - 4], 0
lea ecx, [ebp - 0x10]
call fcn.00401d20
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1c]
call fcn.00401d20
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x18]
call fcn.00401d20
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x44]
call fcn.0049a751
test eax, eax
jne 0x49aa3c
movzx eax, byte [0x4d376e]
test eax, eax
je 0x49aa37
push 0x4ae3e4
push 0x4ae418
push str.__s___s__LoadCfg_Failed.
push 0
push 0
call fcn.00489ffc
add esp, 0x14
jmp 0x49ae3a
push 1
lea eax, [ebp - 0x28]
push eax
call fcn.0048cc61
pop ecx
pop ecx
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x28]
call fcn.00420cd9
movzx eax, al
test eax, eax
jne 0x49aa6f
lea ecx, [ebp - 0x28]
call fcn.00413706
push eax
call fcn.0040808d
pop ecx
test eax, eax
jne 0x49aaa9
movzx eax, byte [0x4d376e]
test eax, eax
je 0x49aa98
push dword [ebp - 0x28]
push 0x4ae458
push 0x4ae48c
push str.__s___s__pcmgr__s__not_exist.
push 0
push 0
call fcn.00489ffc
add esp, 0x18
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x28]
call fcn.00406df8
jmp 0x49ae3a
push str.plugins_
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.00402e88
add esp, 0xc
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x24]
call fcn.00420cd9
movzx eax, al
test eax, eax
jne 0x49aae4
lea ecx, [ebp - 0x24]
call fcn.00413706
push eax
call fcn.0040808d
pop ecx
test eax, eax
jne 0x49ab2a
movzx eax, byte [0x4d376e]
test eax, eax
je 0x49ab0d
push dword [ebp - 0x24]
push 0x4ae4e8
push 0x4ae51c
push str.__s___s__PluginInfoDir__s__not_exist.
push 0
push 0
call fcn.00489ffc
add esp, 0x18
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x24]
call fcn.00406df8
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x28]
call fcn.00406df8
jmp 0x49ae3a
push dword [ebp - 0x44]
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.004010eb
add esp, 0xc
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x2c]
call fcn.00413706
push eax
call fcn.0040808d
pop ecx
test eax, eax
jne 0x49ab61
push 0
lea eax, [ebp - 0x2c]
push eax
call fcn.0048bb5b
pop ecx
pop ecx
push 0x4ae574
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.00402e88
add esp, 0xc
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x4c], eax
mov byte [ebp - 4], 7
push dword [ebp - 0x4c]
lea ecx, [ebp - 0x14]
call fcn.00401000
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x34]
call fcn.00406df8
lea ecx, [ebp - 0x14]
call fcn.00413706
push eax
call fcn.0040808d
pop ecx
test eax, eax
je 0x49ac0d
push 0x4ae594
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x38]
push eax
call fcn.00402e88
add esp, 0xc
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x54], eax
mov byte [ebp - 4], 8
push dword [ebp - 0x54]
lea ecx, [ebp - 0x18]
call fcn.00401000
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x38]
call fcn.00406df8
lea ecx, [ebp - 0x18]
call fcn.00413706
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea ecx, [ebp - 0x18]
call fcn.00413706
push eax
lea ecx, [ebp - 0x14]
call fcn.00413706
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileW]
push str.ClassicLogo_
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.00402e88
add esp, 0xc
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x30]
call fcn.00420cd9
movzx eax, al
test eax, eax
jne 0x49ac48
lea ecx, [ebp - 0x30]
call fcn.00413706
push eax
call fcn.0040808d
pop ecx
test eax, eax
jne 0x49aca6
movzx eax, byte [0x4d376e]
test eax, eax
je 0x49ac71
push dword [ebp - 0x30]
push 0x4ae5bc
push 0x4ae5f0
push str.__s___s__ClassicLogo_Dir__s__not_exist.
push 0
push 0
call fcn.00489ffc
add esp, 0x18
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x30]
call fcn.00406df8
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2c]
call fcn.00406df8
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x24]
call fcn.00406df8
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x28]
call fcn.00406df8
jmp 0x49ae3a
mov eax, dword [ebp - 0x44]
add eax, 4
push eax
lea ecx, [ebp - 0x10]
call fcn.00420cef
lea ecx, [ebp - 0x10]
call fcn.00413706
push eax
call fcn.0040808d
pop ecx
test eax, eax
je 0x49ad28
push 0x4ae650
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.00402e88
add esp, 0xc
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x5c], eax
mov byte [ebp - 4], 0xa
push dword [ebp - 0x5c]
lea ecx, [ebp - 0x1c]
call fcn.00401000
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x3c]
call fcn.00406df8
lea ecx, [ebp - 0x1c]
call fcn.00413706
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea ecx, [ebp - 0x1c]
call fcn.00413706
push eax
lea ecx, [ebp - 0x10]
call fcn.00413706
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileW]
lea eax, [ebp - 0x10]
push eax
mov ecx, dword [ebp - 0x44]
call fcn.0049a889
test eax, eax
jne 0x49ad93
movzx eax, byte [0x4d376e]
test eax, eax
je 0x49ad5e
push 0x4ae65c
push 0x4ae690
push str.__s___s__ReleaseIcon_Failed.
push 0
push 0
call fcn.00489ffc
add esp, 0x14
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x30]
call fcn.00406df8
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2c]
call fcn.00406df8
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x24]
call fcn.00406df8
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x28]
call fcn.00406df8
jmp 0x49ae3a
lea eax, [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0x44]
call fcn.0049a602
test eax, eax
jne 0x49adfb
movzx eax, byte [0x4d376e]
test eax, eax
je 0x49adc9
push str.CToolBoxPlugin::DoInstall
push 0x4ae70c
push str.__s___s__ReleasePluginInfo_Failed.
push 0
push 0
call fcn.00489ffc
add esp, 0x14
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x30]
call fcn.00406df8
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2c]
call fcn.00406df8
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x24]
call fcn.00406df8
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x28]
call fcn.00406df8
jmp 0x49ae3a
mov dword [ebp - 0x20], 1
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x30]
call fcn.00406df8
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2c]
call fcn.00406df8
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x24]
call fcn.00406df8
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x28]
call fcn.00406df8
xor eax, eax
jne 0x49aa05
cmp dword [ebp - 0x20], 0
jne 0x49aef4
lea ecx, [ebp - 0x10]
call fcn.00420cd9
movzx eax, al
test eax, eax
jne 0x49ae9c
lea ecx, [ebp - 0x1c]
call fcn.00420cd9
movzx eax, al
test eax, eax
jne 0x49ae9c
lea ecx, [ebp - 0x1c]
call fcn.00413706
push eax
call fcn.0040808d
pop ecx
test eax, eax
je 0x49ae9c
lea ecx, [ebp - 0x10]
call fcn.00413706
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea ecx, [ebp - 0x10]
call fcn.00413706
push eax
lea ecx, [ebp - 0x1c]
call fcn.00413706
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileW]
lea ecx, [ebp - 0x14]
call fcn.00420cd9
movzx eax, al
test eax, eax
jne 0x49aef4
lea ecx, [ebp - 0x18]
call fcn.00420cd9
movzx eax, al
test eax, eax
jne 0x49aef4
lea ecx, [ebp - 0x18]
call fcn.00413706
push eax
call fcn.0040808d
pop ecx
test eax, eax
je 0x49aef4
lea ecx, [ebp - 0x14]
call fcn.00413706
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea ecx, [ebp - 0x14]
call fcn.00413706
push eax
lea ecx, [ebp - 0x18]
call fcn.00413706
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileW]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x40], eax
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x18]
call fcn.00406df8
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1c]
call fcn.00406df8
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x10]
call fcn.00406df8
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.00406df8
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
leave
ret