Function at 0x43ecb0
Capabilities:
Copy file
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x44e588
mov eax, dword fs:[0]
push eax
mov eax, 0x4954
call fcn.00427d00
mov eax, dword [0x46972c]
xor eax, ebp
mov dword [ebp - 0x1c], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x4960], ecx
xor eax, eax
mov word [ebp - 0x2174], ax
push 0x1f40
push 0
lea ecx, [ebp - 0x2172]
push ecx
call fcn.00422660
add esp, 0xc
xor edx, edx
mov word [ebp - 0x4954], dx
push 0x1f40
push 0
lea eax, [ebp - 0x4952]
push eax
call fcn.00422660
add esp, 0xc
xor ecx, ecx
mov word [ebp - 0x258c], cx
push 0x206
push 0
lea edx, [ebp - 0x258a]
push edx
call fcn.00422660
add esp, 0xc
xor eax, eax
mov word [ebp - 0x237c], ax
push 0x206
push 0
lea ecx, [ebp - 0x237a]
push ecx
call fcn.00422660
add esp, 0xc
xor edx, edx
mov word [ebp - 0x224], dx
push 0x206
push 0
lea eax, [ebp - 0x222]
push eax
call fcn.00422660
add esp, 0xc
mov byte [ebp - 0x29fd], 0
mov byte [ebp - 0x225], 0
lea ecx, [ebp - 0x10]
call fcn.00401be0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x29fc]
call fcn.00449a20
mov byte [ebp - 4], 1
push 0x45be24
mov ecx, dword [ebp - 0x4960]
add ecx, 0x164
push ecx
lea edx, [ebp - 0x18]
push edx
call fcn.00422b1a
add esp, 0xc
mov dword [ebp - 0x2a04], eax
cmp dword [ebp - 0x2a04], 0
je 0x43ee1e
cmp dword [ebp - 0x18], 0
je 0x43edeb
mov eax, dword [ebp - 0x18]
push eax
call fcn.00422be4
add esp, 4
mov dword [ebp - 0x4958], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x29fc]
call fcn.00449a00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10]
call fcn.00401a80
mov eax, dword [ebp - 0x4958]
jmp 0x43f463
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.004241b9
add esp, 4
mov dword [ebp - 0x2a08], eax
mov dword [ebp - 0x14], 0
jmp 0x43ee42
mov edx, dword [ebp - 0x14]
add edx, 1
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], 0xfa0
jge 0x43ee81
mov eax, dword [ebp - 0x18]
push eax
call fcn.00422ed1
add esp, 4
test eax, eax
jne 0x43ee81
mov ecx, dword [ebp - 0x14]
mov dx, word [ebp - 0x2a08]
mov word [ebp + ecx*2 - 0x2174], dx
mov eax, dword [ebp - 0x18]
push eax
call fcn.004241b9
add esp, 4
mov dword [ebp - 0x2a08], eax
jmp 0x43ee39
xor ecx, ecx
mov edx, dword [ebp - 0x14]
mov word [ebp + edx*2 - 0x2174], cx
push str._a_Errors__a_
lea eax, [ebp - 0x258c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea ecx, [ebp - 0x258c]
push ecx
lea edx, [ebp - 0x2174]
push edx
call dword [sym.imp.SHLWAPI.dll_StrStrIW]
mov dword [ebp - 0x2380], eax
cmp dword [ebp - 0x2380], 0
jne 0x43eeca
mov byte [ebp - 0x29fd], 1
movzx eax, byte [ebp - 0x29fd]
test eax, eax
jne 0x43f0a7
mov ecx, dword [ebp - 0x2380]
lea edx, [ebp - 0x2174]
sub ecx, edx
sar ecx, 1
lea eax, [ebp + ecx*2 - 0x2174]
push eax
lea ecx, [ebp - 0x4954]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push str.Return_code
lea edx, [ebp - 0x258c]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea eax, [ebp - 0x258c]
push eax
lea ecx, [ebp - 0x4954]
push ecx
call dword [sym.imp.SHLWAPI.dll_StrStrIW]
mov dword [ebp - 0x2380], eax
cmp dword [ebp - 0x2380], 0
jne 0x43ef3f
mov byte [ebp - 0x29fd], 1
jmp 0x43f0a7
mov edx, dword [ebp - 0x2380]
lea eax, [ebp - 0x4954]
sub edx, eax
sar edx, 1
mov dword [ebp - 0x14], edx
push 0x45bf60
lea ecx, [ebp - 0x258c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea edx, [ebp - 0x258c]
push edx
mov eax, dword [ebp - 0x14]
lea ecx, [ebp + eax*2 - 0x4954]
push ecx
call dword [sym.imp.SHLWAPI.dll_StrStrIW]
mov dword [ebp - 0x2380], eax
cmp dword [ebp - 0x2380], 0
je 0x43f0a7
mov edx, dword [ebp - 0x14]
lea eax, [ebp + edx*2 - 0x4954]
mov ecx, dword [ebp - 0x2380]
sub ecx, eax
sar ecx, 1
mov dword [ebp - 0x2a08], ecx
cmp dword [ebp - 0x2a08], 0x32
jge 0x43f0a7
push 0x104
push 0
lea edx, [ebp - 0x258c]
push edx
call fcn.00422660
add esp, 0xc
mov eax, dword [ebp - 0x2a08]
add eax, 1
push eax
mov ecx, dword [ebp - 0x14]
lea edx, [ebp + ecx*2 - 0x4954]
push edx
lea eax, [ebp - 0x258c]
push eax
call dword [sym.imp.SHLWAPI.dll_StrCpyNW]
push 0x45bf64
lea ecx, [ebp - 0x237c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea edx, [ebp - 0x258c]
push edx
lea eax, [ebp - 0x237c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push str._when_SSM_runs_the_deliverable_
lea ecx, [ebp - 0x237c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push 0x456e6f
lea edx, [ebp - 0x237c]
push edx
mov eax, dword [ebp - 0x4960]
add eax, 0xb8c
push eax
lea ecx, [ebp - 0x29fc]
call fcn.0044a040
push str.0xBC2
lea ecx, [ebp - 0x224]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea edx, [ebp - 0x224]
push edx
lea eax, [ebp - 0x258c]
push eax
call dword [sym.imp.SHLWAPI.dll_StrStrIW]
mov dword [ebp - 0x2380], eax
cmp dword [ebp - 0x2380], 0
je 0x43f0a7
push 0x456e76
push str.found_error_code__0xBC2._This_error_code_is_considered_as_installation_OK
mov ecx, dword [ebp - 0x4960]
add ecx, 0xb8c
push ecx
lea ecx, [ebp - 0x29fc]
call fcn.0044a040
mov byte [ebp - 0x29fd], 1
movzx edx, byte [ebp - 0x29fd]
test edx, edx
je 0x43f15e
push str._a_Possible_Updates__a_
lea eax, [ebp - 0x258c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea ecx, [ebp - 0x258c]
push ecx
lea edx, [ebp - 0x2174]
push edx
call dword [sym.imp.SHLWAPI.dll_StrStrIW]
mov dword [ebp - 0x2380], eax
cmp dword [ebp - 0x2380], 0
je 0x43f15e
mov eax, dword [ebp - 0x2380]
lea ecx, [ebp - 0x2174]
sub eax, ecx
sar eax, 1
mov dword [ebp - 0x14], eax
push str._a_Updates_Performed__a_
lea edx, [ebp - 0x258c]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea eax, [ebp - 0x258c]
push eax
lea ecx, [ebp - 0x2174]
push ecx
call dword [sym.imp.SHLWAPI.dll_StrStrIW]
mov dword [ebp - 0x2380], eax
cmp dword [ebp - 0x2380], 0
je 0x43f15e
mov edx, dword [ebp - 0x2380]
lea eax, [ebp - 0x2174]
sub edx, eax
sar edx, 1
mov dword [ebp - 0x2a08], edx
mov ecx, dword [ebp - 0x2a08]
sub ecx, dword [ebp - 0x14]
cmp ecx, 0x50
jge 0x43f15e
mov byte [ebp - 0x29fd], 0
cmp dword [ebp - 0x18], 0
je 0x43f170
mov edx, dword [ebp - 0x18]
push edx
call fcn.00422be4
add esp, 4
push 1
push 0x64
call dword [sym.imp.KERNEL32.dll_SleepEx]
push str.c:_system.savSSM_Log_
lea eax, [ebp - 0x258c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov ecx, dword [ebp - 0x4960]
add ecx, 0xe0d4
push ecx
lea edx, [ebp - 0x258c]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatW]
movzx eax, byte [ebp - 0x29fd]
test eax, eax
jne 0x43f394
push 0
lea ecx, [ebp - 0x258c]
push ecx
mov edx, dword [ebp - 0x4960]
add edx, 0x164
push edx
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x43f30f
push 0x45c0f0
lea eax, [ebp - 0x2174]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea ecx, [ebp - 0x2174]
push ecx
lea edx, [ebp - 0x258c]
push edx
call dword [sym.imp.SHLWAPI.dll_StrStrIW]
mov dword [ebp - 0x2380], eax
cmp dword [ebp - 0x2380], 0
jne 0x43f237
lea eax, [ebp - 0x258c]
push eax
push str.WARNING__WARNING___Rename_log_file_fails
mov ecx, dword [ebp - 0x4960]
add ecx, 0xb8c
push ecx
lea ecx, [ebp - 0x29fc]
call fcn.00449fb0
jmp 0x43f30f
mov edx, dword [ebp - 0x2380]
lea eax, [ebp - 0x258c]
sub edx, eax
sar edx, 1
add edx, 1
push edx
lea ecx, [ebp - 0x258c]
push ecx
lea edx, [ebp - 0x2174]
push edx
call dword [sym.imp.SHLWAPI.dll_StrCpyNW]
push 0x45c0f4
lea eax, [ebp - 0x2174]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
lea ecx, [ebp - 0x2174]
push ecx
lea edx, [ebp - 0x258c]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea eax, [ebp - 0x258c]
push eax
push str.log_file___s
lea ecx, [ebp - 0x4954]
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
push 0x456e77
lea edx, [ebp - 0x4954]
push edx
mov eax, dword [ebp - 0x4960]
add eax, 0xb8c
push eax
lea ecx, [ebp - 0x29fc]
call fcn.0044a040
push 0
lea ecx, [ebp - 0x258c]
push ecx
mov edx, dword [ebp - 0x4960]
add edx, 0x164
push edx
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x43f30f
lea eax, [ebp - 0x258c]
push eax
push str.ERROR__ERROR__Rename_log_file_fails__second_time_
mov ecx, dword [ebp - 0x4960]
add ecx, 0xb8c
push ecx
lea ecx, [ebp - 0x29fc]
call fcn.00449fb0
mov byte [ebp - 0x225], 1
lea edx, [ebp - 0x258c]
push edx
lea ecx, [ebp - 0x10]
call fcn.00401a60
push str..ssmtrace
push str..htm
lea ecx, [ebp - 0x10]
call fcn.00401090
push 0x104
push 0
lea eax, [ebp - 0x258c]
push eax
call fcn.00422660
add esp, 0xc
mov ecx, dword [ebp - 0x10]
push ecx
push 0x45c210
lea edx, [ebp - 0x258c]
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
push 0
lea eax, [ebp - 0x258c]
push eax
mov ecx, dword [ebp - 0x4960]
add ecx, 0x36c
push ecx
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x43f392
mov edx, dword [ebp - 0x4960]
add edx, 0x36c
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
jmp 0x43f3c4
lea eax, [ebp - 0x258c]
push eax
mov ecx, dword [ebp - 0x4960]
add ecx, 0xb8c
push ecx
lea ecx, [ebp - 0x29fc]
call fcn.0044b830
test eax, eax
je 0x43f3c4
lea edx, [ebp - 0x258c]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push 0xfa1
push 0
lea eax, [ebp - 0x2174]
push eax
call fcn.00422660
add esp, 0xc
push 0xfa1
push 0
lea ecx, [ebp - 0x4954]
push ecx
call fcn.00422660
add esp, 0xc
push 0x104
push 0
lea edx, [ebp - 0x258c]
push edx
call fcn.00422660
add esp, 0xc
push 0x104
push 0
lea eax, [ebp - 0x237c]
push eax
call fcn.00422660
add esp, 0xc
push 0x104
push 0
lea ecx, [ebp - 0x224]
push ecx
call fcn.00422660
add esp, 0xc
movzx edx, byte [ebp - 0x29fd]
mov dword [ebp - 0x495c], edx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x29fc]
call fcn.00449a00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10]
call fcn.00401a80
mov eax, dword [ebp - 0x495c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.00422647
mov esp, ebp
pop ebp
ret