Function at 0x413b20
Capabilities:
Copy file
Delete file
Get common file path
Move file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x449cee
mov eax, dword fs:[0]
push eax
sub esp, 0x228
mov eax, dword [0x45f758]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
call fcn.00424720
mov dword [ebp - 0x21c], eax
lea ecx, [ebp - 0x18c]
call fcn.00404ec0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x1a4]
call fcn.00404ec0
mov byte [ebp - 4], 1
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x1bc]
call fcn.004014c0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x18c]
push ecx
lea edx, [ebp - 0x1a4]
push edx
lea eax, [ebp - 0x1bc]
push eax
push 0x5c
call fcn.0042b410
add esp, 0x10
movzx ecx, al
test ecx, ecx
jne 0x413bbc
mov dword [ebp - 0x20c], 1
jmp 0x413bc6
mov dword [ebp - 0x20c], 0
mov dl, byte [ebp - 0x20c]
mov byte [ebp - 0x205], dl
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1bc]
call fcn.00405000
movzx eax, byte [ebp - 0x205]
test eax, eax
je 0x413bfb
mov ecx, dword [ebp + 8]
push ecx
lea ecx, [ebp - 0x18c]
call fcn.0040e2f0
push 0x104
lea edx, [ebp - 0x114]
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
lea ecx, [ebp - 0x144]
call fcn.00404ec0
mov byte [ebp - 4], 3
lea eax, [ebp - 0x114]
push eax
lea ecx, [ebp - 0x144]
call fcn.0040e2f0
push 0x5c
lea ecx, [ebp - 0x144]
call fcn.0040e790
lea ecx, [ebp - 0x18c]
push ecx
lea ecx, [ebp - 0x144]
call fcn.0040e770
lea ecx, [ebp - 0x15c]
call fcn.00404ec0
mov byte [ebp - 4], 4
lea edx, [ebp - 0x144]
push edx
lea ecx, [ebp - 0x15c]
call fcn.0040e270
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
call fcn.00431fd1
add esp, 4
lea ecx, [ebp - 0x12c]
call fcn.00404ec0
mov byte [ebp - 4], 5
lea eax, [ebp - 0x15c]
push eax
lea ecx, [ebp - 0x12c]
call fcn.0040e270
push 0x2e
lea ecx, [ebp - 0x12c]
call fcn.0040e790
lea ecx, [ebp - 0x1ec]
push ecx
call fcn.00417580
add esp, 4
mov dword [ebp - 0x224], eax
mov edx, dword [ebp - 0x224]
mov dword [ebp - 0x22c], edx
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x22c]
push eax
lea ecx, [ebp - 0x12c]
call fcn.0040e770
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x1ec]
call fcn.00405000
lea ecx, [ebp - 0x12c]
push ecx
call fcn.00417500
add esp, 4
test eax, eax
jne 0x413c8c
lea edx, [ebp - 0x12c]
push edx
lea ecx, [ebp - 0x144]
call fcn.0040e270
lea ecx, [ebp - 0x144]
call fcn.004056c0
push eax
push str.Trying_to_copy_LSP_to:__s_n
call fcn.00421be0
add esp, 8
push 0
lea ecx, [ebp - 0x144]
call fcn.004056c0
push eax
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
jne 0x413dd8
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0x144]
call fcn.004056c0
push eax
mov ecx, dword [ebp + 8]
push ecx
push str.Failed_to_copy_LSP:__s_to:__s_with_error_code:__i_n
call fcn.00421c70
add esp, 0x10
mov dword [ebp - 0x234], 0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x12c]
call fcn.00405000
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x15c]
call fcn.00405000
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x144]
call fcn.00405000
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1a4]
call fcn.00405000
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x18c]
call fcn.00405000
mov eax, dword [ebp - 0x234]
jmp 0x4141cc
push str.Copy_success__n
call fcn.00421be0
add esp, 4
lea ecx, [ebp - 0x174]
call fcn.00404ec0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x15c]
call fcn.004056c0
push eax
lea ecx, [ebp - 0x1d4]
call fcn.004014c0
mov byte [ebp - 4], 8
lea edx, [ebp - 0x1d4]
push edx
call fcn.00417500
add esp, 4
mov dword [ebp - 0x218], eax
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x1d4]
call fcn.00405000
cmp dword [ebp - 0x218], 0
je 0x413fad
lea eax, [ebp - 0x15c]
push eax
lea ecx, [ebp - 0x12c]
call fcn.0040e270
push str..old.
lea ecx, [ebp - 0x12c]
call fcn.0040e7b0
lea ecx, [ebp - 0x204]
push ecx
call fcn.00417580
add esp, 4
mov dword [ebp - 0x228], eax
mov edx, dword [ebp - 0x228]
mov dword [ebp - 0x220], edx
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x220]
push eax
lea ecx, [ebp - 0x12c]
call fcn.0040e770
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x204]
call fcn.00405000
lea ecx, [ebp - 0x12c]
push ecx
call fcn.00417500
add esp, 4
test eax, eax
jne 0x413e40
lea edx, [ebp - 0x12c]
push edx
lea ecx, [ebp - 0x174]
call fcn.0040e270
push str.Trying_to_rename_running_LSP_n
call fcn.00421be0
add esp, 4
lea ecx, [ebp - 0x174]
call fcn.004056c0
push eax
lea ecx, [ebp - 0x15c]
call fcn.004056c0
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileA]
test eax, eax
jne 0x413f9e
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0x174]
call fcn.004056c0
push eax
lea ecx, [ebp - 0x15c]
call fcn.004056c0
push eax
push str.Failed_to_rename_LSP:__s_to:__s_with_error_code:__i_n
call fcn.00421c70
add esp, 0x10
mov dword [ebp - 0x230], 0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x174]
call fcn.00405000
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x12c]
call fcn.00405000
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x15c]
call fcn.00405000
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x144]
call fcn.00405000
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1a4]
call fcn.00405000
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x18c]
call fcn.00405000
mov eax, dword [ebp - 0x230]
jmp 0x4141cc
push str.Rename_sucess__n
call fcn.00421be0
add esp, 4
jmp 0x413fba
push str.LSP_file_doesnt_exists__will_just_proceed_with_the_rename._n
call fcn.00421be0
add esp, 4
push str.Trying_to_rename_new_LSP_to_running_LSP_n
call fcn.00421be0
add esp, 4
lea ecx, [ebp - 0x15c]
call fcn.004056c0
push eax
lea ecx, [ebp - 0x144]
call fcn.004056c0
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileA]
test eax, eax
jne 0x4140e2
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0x15c]
call fcn.004056c0
push eax
lea ecx, [ebp - 0x144]
call fcn.004056c0
push eax
push str.Failed_to_rename_new_LSP:__s_to:__s_with_error_code:__i_n
call fcn.00421c70
add esp, 0x10
lea ecx, [ebp - 0x174]
call fcn.004058a0
movzx eax, al
test eax, eax
jne 0x41406e
push str.Trying_to_rename_LSP_back__n
call fcn.00421be0
add esp, 4
lea ecx, [ebp - 0x15c]
call fcn.004056c0
push eax
lea ecx, [ebp - 0x174]
call fcn.004056c0
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileA]
test eax, eax
jne 0x41406e
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Failed_to_rename_LSP_back_with_error_code:__i_n
call fcn.00421c70
add esp, 8
mov dword [ebp - 0x214], 0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x174]
call fcn.00405000
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x12c]
call fcn.00405000
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x15c]
call fcn.00405000
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x144]
call fcn.00405000
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1a4]
call fcn.00405000
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x18c]
call fcn.00405000
mov eax, dword [ebp - 0x214]
jmp 0x4141cc
push str.LSP_updated_completly__its_advised_to_reboot_the_computer_now_n
call fcn.00421be0
add esp, 4
lea ecx, [ebp - 0x174]
call fcn.004058a0
movzx ecx, al
test ecx, ecx
jne 0x41415f
cmp dword [ebp - 0x21c], 3
jl 0x41415f
push 4
push 0
lea ecx, [ebp - 0x174]
call fcn.004056c0
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExA]
test eax, eax
jne 0x414146
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0x174]
call fcn.004056c0
push eax
push str.Failed_to_schedule_file__s_deletion_on_next_reboot_with_error:__i_n
call fcn.00421c70
add esp, 0xc
jmp 0x41415f
lea ecx, [ebp - 0x174]
call fcn.004056c0
push eax
push str.File___s__scheduled_to_be_deleted_on_next_reboot__n
call fcn.00421be0
add esp, 8
mov dword [ebp - 0x210], 1
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x174]
call fcn.00405000
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x12c]
call fcn.00405000
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x15c]
call fcn.00405000
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x144]
call fcn.00405000
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1a4]
call fcn.00405000
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x18c]
call fcn.00405000
mov eax, dword [ebp - 0x210]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0042e9cd
mov esp, ebp
pop ebp
ret