Function at 0x430bd0
Capabilities:
Check if file exists
Copy file
Delete file
Get common file path
Move file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a41e6
mov eax, dword fs:[0]
push eax
sub esp, 0x4e8
mov eax, dword [0x4d61d4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x45c], eax
mov dword [ebp - 0x458], 0
test eax, eax
je 0x431390
test edi, edi
je 0x431390
push 0x208
lea eax, [ebp - 0x420]
push 0
push eax
call fcn.004693b0
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.004693b0
push 0x104
push edi
lea eax, [ebp - 0x420]
push 0x104
push eax
call fcn.00470433
add esp, 0x28
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea eax, [ebp - 0x420]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHCreateDirectory]
push edi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x431211
call fcn.00438dc0
push 1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov ecx, eax
call edx
movzx eax, al
sub eax, 1
jne 0x430dca
push 0x58
mov dword [ebp - 0x440], eax
lea ecx, [ebp - 0x450]
mov dword [ebp - 0x43c], eax
push str.d:jenkins.jenkinsworkspacemaster_luhome_installerhome_installer_srcutilsutils.cc
mov dword [ebp - 0x440], eax
mov dword [ebp - 0x43c], 0xf
mov byte [ebp - 0x450], al
call fcn.004076f0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x438]
push 3
mov dword [ebp - 0x428], 0
mov dword [ebp - 0x424], 0
push 0x4a9c6c
mov dword [ebp - 0x428], 0
mov dword [ebp - 0x424], 0xf
mov byte [ebp - 0x438], 0
call fcn.004076f0
mov byte [ebp - 4], 1
lea eax, [ebp - 0x450]
push 0x228
push eax
lea eax, [ebp - 0x438]
push eax
lea ecx, [ebp - 0x4f4]
call fcn.00409020
mov esi, eax
mov byte [ebp - 4], 2
lea eax, [ebp - 0x454]
push edi
push str.Dest_File_Exist:__s
push eax
call fcn.0041bbe0
mov byte [ebp - 4], 3
mov ecx, 0x4a9a78
mov eax, dword [eax]
test eax, eax
cmovne ecx, eax
push ecx
push esi
call fcn.00402c30
add esp, 0x14
call fcn.00438dc0
push esi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x1c]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x454]
call fcn.00404000
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x4f4]
call fcn.00404eb0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x438]
call fcn.004041a0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x450]
call fcn.004041a0
push edi
call fcn.00425220
add esp, 4
test eax, eax
jne 0x431211
call fcn.00438dc0
push 1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov ecx, eax
call edx
movzx eax, al
sub eax, 1
jne 0x430f31
push 0x58
mov dword [ebp - 0x428], eax
lea ecx, [ebp - 0x438]
mov dword [ebp - 0x424], eax
push str.d:jenkins.jenkinsworkspacemaster_luhome_installerhome_installer_srcutilsutils.cc
mov dword [ebp - 0x428], eax
mov dword [ebp - 0x424], 0xf
mov byte [ebp - 0x438], al
call fcn.004076f0
mov dword [ebp - 4], 5
lea ecx, [ebp - 0x450]
push 3
mov dword [ebp - 0x440], 0
mov dword [ebp - 0x43c], 0
push 0x4a9c6c
mov dword [ebp - 0x440], 0
mov dword [ebp - 0x43c], 0xf
mov byte [ebp - 0x450], 0
call fcn.004076f0
mov byte [ebp - 4], 6
lea eax, [ebp - 0x438]
push 0x22d
push eax
lea eax, [ebp - 0x450]
push eax
lea ecx, [ebp - 0x4f4]
call fcn.00409020
mov esi, eax
mov byte [ebp - 4], 7
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov byte [ebp - 4], 8
push eax
push edi
push str.Delete_File__s_Failed__error___d
lea eax, [ebp - 0x454]
push 2
push eax
call fcn.00438c80
add esp, 0x14
mov dword [ebp - 0x458], 1
mov ecx, esi
push eax
call fcn.00421c60
mov esi, eax
call fcn.00438dc0
push esi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x1c]
mov eax, 1
mov dword [ebp - 0x458], eax
and eax, 0xfffffffe
mov dword [ebp - 0x458], eax
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x454]
call fcn.00404000
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x4f4]
call fcn.00404eb0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x450]
call fcn.004041a0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x438]
call fcn.004041a0
lea eax, [ebp - 0x218]
push eax
push 0
push 0x4adad8
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea eax, [ebp - 0x218]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
je 0x4313ae
call fcn.00438dc0
push 1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov ecx, eax
call edx
movzx eax, al
sub eax, 1
jne 0x4310a5
push 0x58
mov dword [ebp - 0x428], eax
lea ecx, [ebp - 0x438]
mov dword [ebp - 0x424], eax
push str.d:jenkins.jenkinsworkspacemaster_luhome_installerhome_installer_srcutilsutils.cc
mov dword [ebp - 0x428], eax
mov dword [ebp - 0x424], 0xf
mov byte [ebp - 0x438], al
call fcn.004076f0
mov dword [ebp - 4], 0xa
lea ecx, [ebp - 0x450]
push 3
mov dword [ebp - 0x440], 0
mov dword [ebp - 0x43c], 0
push 0x4a9c6c
mov dword [ebp - 0x440], 0
mov dword [ebp - 0x43c], 0xf
mov byte [ebp - 0x450], 0
call fcn.004076f0
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x438]
push 0x239
push eax
lea eax, [ebp - 0x450]
push eax
lea ecx, [ebp - 0x4f4]
call fcn.00409020
mov esi, eax
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x218]
push eax
push edi
lea eax, [ebp - 0x454]
push str.Rename_File__s_to__s_success
push eax
call fcn.0042d4f0
add esp, 0x10
mov byte [ebp - 4], 0xd
mov ecx, esi
push eax
call fcn.00421c60
mov esi, eax
call fcn.00438dc0
push esi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x1c]
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x454]
call fcn.00404000
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x4f4]
call fcn.00404eb0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x450]
call fcn.004041a0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x438]
call fcn.004041a0
push 4
push 0
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
call fcn.00438dc0
push 1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov ecx, eax
call edx
movzx eax, al
sub eax, 1
jne 0x431207
push 0x58
mov dword [ebp - 0x428], eax
lea ecx, [ebp - 0x438]
mov dword [ebp - 0x424], eax
push str.d:jenkins.jenkinsworkspacemaster_luhome_installerhome_installer_srcutilsutils.cc
mov dword [ebp - 0x428], eax
mov dword [ebp - 0x424], 0xf
mov byte [ebp - 0x438], al
call fcn.004076f0
mov dword [ebp - 4], 0xf
lea ecx, [ebp - 0x450]
push 3
mov dword [ebp - 0x440], 0
mov dword [ebp - 0x43c], 0
push 0x4a9c6c
mov dword [ebp - 0x440], 0
mov dword [ebp - 0x43c], 0xf
mov byte [ebp - 0x450], 0
call fcn.004076f0
mov byte [ebp - 4], 0x10
lea eax, [ebp - 0x438]
push 0x23d
push eax
lea eax, [ebp - 0x450]
push eax
lea ecx, [ebp - 0x4f4]
call fcn.00409020
mov esi, eax
mov byte [ebp - 4], 0x12
lea eax, [ebp - 0x218]
push eax
push str.delete_by_pending_file:_s
lea eax, [ebp - 0x454]
push 1
push eax
call fcn.00438c80
add esp, 0x10
mov dword [ebp - 0x458], 2
mov ecx, esi
push eax
call fcn.00421c60
mov esi, eax
call fcn.00438dc0
push esi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x1c]
mov eax, 2
mov dword [ebp - 0x458], eax
and eax, 0xfffffffd
mov dword [ebp - 0x458], eax
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x454]
call fcn.00404000
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x4f4]
call fcn.00404eb0
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x450]
call fcn.004041a0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x438]
call fcn.004041a0
test ebx, ebx
je 0x431211
mov dword [ebx], 4
mov ebx, dword [ebp - 0x45c]
push 0
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x431647
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x454], eax
call fcn.00438dc0
push 1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov ecx, eax
call edx
movzx ecx, al
sub ecx, 1
jne 0x431390
mov dword [ebp - 0x428], ecx
mov dword [ebp - 0x424], ecx
push 0x58
mov dword [ebp - 0x428], ecx
mov byte [ebp - 0x438], cl
lea ecx, [ebp - 0x438]
push str.d:jenkins.jenkinsworkspacemaster_luhome_installerhome_installer_srcutilsutils.cc
mov dword [ebp - 0x424], 0xf
call fcn.004076f0
mov dword [ebp - 4], 0x1e
lea ecx, [ebp - 0x450]
push 3
mov dword [ebp - 0x440], 0
mov dword [ebp - 0x43c], 0
push 0x4a9c6c
mov dword [ebp - 0x440], 0
mov dword [ebp - 0x43c], 0xf
mov byte [ebp - 0x450], 0
call fcn.004076f0
mov byte [ebp - 4], 0x1f
lea eax, [ebp - 0x438]
push 0x263
push eax
lea eax, [ebp - 0x450]
push eax
lea ecx, [ebp - 0x4f4]
call fcn.00409020
mov esi, eax
mov byte [ebp - 4], 0x21
lea eax, [ebp - 0x45c]
push dword [ebp - 0x454]
push edi
push ebx
push str.Copy_From__s_to__s_Failed_Error_Code___d
push 3
push eax
call fcn.00438c80
mov ecx, 0x4a9a78
mov dword [ebp - 0x458], 4
mov eax, dword [eax]
test eax, eax
cmovne ecx, eax
push ecx
push esi
call fcn.00402c30
add esp, 0x20
call fcn.00438dc0
push esi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x1c]
mov eax, 4
mov dword [ebp - 0x458], eax
and eax, 0xfffffffb
mov dword [ebp - 0x458], eax
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x45c]
call fcn.00404000
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x4f4]
call fcn.00404eb0
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x450]
call fcn.004041a0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x438]
call fcn.004041a0
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0043a373
mov esp, ebp
pop ebp
ret
call fcn.00438dc0
push 1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov ecx, eax
call edx
movzx eax, al
sub eax, 1
jne 0x4314dd
push 0x58
mov dword [ebp - 0x428], eax
lea ecx, [ebp - 0x438]
mov dword [ebp - 0x424], eax
push str.d:jenkins.jenkinsworkspacemaster_luhome_installerhome_installer_srcutilsutils.cc
mov dword [ebp - 0x428], eax
mov dword [ebp - 0x424], 0xf
mov byte [ebp - 0x438], al
call fcn.004076f0
mov dword [ebp - 4], 0x14
lea ecx, [ebp - 0x450]
push 3
mov dword [ebp - 0x440], 0
mov dword [ebp - 0x43c], 0
push 0x4a9c6c
mov dword [ebp - 0x440], 0
mov dword [ebp - 0x43c], 0xf
mov byte [ebp - 0x450], 0
call fcn.004076f0
mov byte [ebp - 4], 0x15
lea eax, [ebp - 0x438]
push 0x248
push eax
lea eax, [ebp - 0x450]
push eax
lea ecx, [ebp - 0x4f4]
call fcn.00409020
mov esi, eax
mov byte [ebp - 4], 0x16
lea eax, [ebp - 0x454]
push edi
push str.Rename_File__s_failed__replace_until_reboot
push eax
call fcn.0041bbe0
add esp, 0xc
mov byte [ebp - 4], 0x17
mov ecx, esi
push eax
call fcn.00421c60
mov esi, eax
call fcn.00438dc0
push esi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x1c]
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x454]
call fcn.00404000
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x4f4]
call fcn.00404eb0
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x450]
call fcn.004041a0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x438]
call fcn.004041a0
push 0
lea eax, [ebp - 0x218]
push eax
push dword [ebp - 0x45c]
call dword [sym.imp.KERNEL32.dll_CopyFileW]
push 5
push edi
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
call fcn.00438dc0
push 1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov ecx, eax
call edx
movzx eax, al
sub eax, 1
jne 0x43163d
push 0x58
mov dword [ebp - 0x428], eax
lea ecx, [ebp - 0x438]
mov dword [ebp - 0x424], eax
push str.d:jenkins.jenkinsworkspacemaster_luhome_installerhome_installer_srcutilsutils.cc
mov dword [ebp - 0x428], eax
mov dword [ebp - 0x424], 0xf
mov byte [ebp - 0x438], al
call fcn.004076f0
mov dword [ebp - 4], 0x19
lea ecx, [ebp - 0x450]
push 3
mov dword [ebp - 0x440], 0
mov dword [ebp - 0x43c], 0
push 0x4a9c6c
mov dword [ebp - 0x440], 0
mov dword [ebp - 0x43c], 0xf
mov byte [ebp - 0x450], 0
call fcn.004076f0
mov byte [ebp - 4], 0x1a
lea eax, [ebp - 0x438]
push 0x24e
push eax
lea eax, [ebp - 0x450]
push eax
lea ecx, [ebp - 0x4f4]
call fcn.00409020
mov esi, eax
mov byte [ebp - 4], 0x1b
lea eax, [ebp - 0x218]
push eax
push dword [ebp - 0x45c]
lea eax, [ebp - 0x454]
push str.copy__s_to__s__replace_until_reboot
push eax
call fcn.0042d4f0
add esp, 0x10
mov byte [ebp - 4], 0x1c
mov ecx, esi
push eax
call fcn.00421c60
mov esi, eax
call fcn.00438dc0
push esi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x1c]
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x454]
call fcn.00404000
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x4f4]
call fcn.00404eb0
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x450]
call fcn.004041a0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x438]
call fcn.004041a0
test ebx, ebx
je 0x431647
mov dword [ebx], 5
mov eax, 1
jmp 0x431392