Function at 0x42a983
Capabilities:
Set file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
and dword [ebp - 4], 0
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, 0x4508e4
mov eax, dword [esi + 4]
test eax, eax
je 0x42a9a3
mov edx, dword [eax]
jmp 0x42a9b0
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x42a9ae
mov edx, dword [ecx]
jmp 0x42a9b0
mov edx, edi
mov ecx, dword [esi + 0xc]
test ecx, ecx
je 0x42a9b9
mov edi, dword [ecx]
or dword [ebp - 8], 0xffffffff
test eax, eax
je 0x42a9cf
xor eax, eax
test ecx, ecx
setne al
add eax, 0x20000150
jmp 0x42a9de
mov eax, dword [esi + 8]
neg eax
sbb eax, eax
and eax, 3
add eax, 0x2000014f
mov ebx, dword [ebp + 0x10]
push ebx
push str.copy
push edi
push edx
push eax
push 2
call fcn.00405721
mov edi, dword [ebp + 0x14]
lea eax, [ebp - 4]
add esp, 0x18
push eax
push edi
call fcn.00449255
test eax, eax
je 0x42aa60
mov eax, dword [ebp - 4]
test al, 1
je 0x42aa60
and eax, 0xfffffffe
push eax
push edi
mov dword [ebp - 4], eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test eax, eax
jne 0x42aa60
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x42aa35
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x42aa3c
mov esi, 0x80004005
push esi
push 0x53e
push str.c:_agent_work18_swix_src_burnengine_apply.cpp
call fcn.00403953
push edi
push str.Failed_to_clear_readonly_bit_on_payload_destination_path:__ls
push esi
call fcn.0044466b
add esp, 0xc
jmp 0x42abdf
mov eax, dword [ebp + 0xc]
cmp eax, 0xffffffff
jne 0x42aad1
push 0
push 0x8000080
push 3
push 0
push 7
push SysReAllocString
push ebx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 8], eax
cmp eax, 0xffffffff
jne 0x42aacc
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x42aaa0
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x42aaa7
mov esi, 0x80004005
push esi
push 0x548
push str.c:_agent_work18_swix_src_burnengine_apply.cpp
call fcn.00403953
push edi
push ebx
push str.Failed_to_open_source_file_to_copy_payload_from:__ls_to:__ls.
push esi
call fcn.0044466b
add esp, 0x10
jmp 0x42abdf
mov dword [ebp + 0xc], eax
jmp 0x42aaff
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push eax
call fcn.0044970e
mov esi, eax
test esi, esi
jns 0x42aafc
push esi
push 0x550
push str.c:_agent_work18_swix_src_burnengine_apply.cpp
call fcn.00403953
push edi
push ebx
push str.Failed_to_read_from_start_of_source_file_to_copy_payload_from:__ls_to:__ls.
jmp 0x42aabe
mov esi, dword [ebp + 8]
push 0
push 0x8000080
push 2
push 0
push 7
push 0x40000000
push edi
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x10], eax
cmp eax, 0xffffffff
jne 0x42ab60
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x42ab37
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x42ab3e
mov esi, 0x80004005
push esi
push 0x556
push str.c:_agent_work18_swix_src_burnengine_apply.cpp
call fcn.00403953
push edi
push ebx
push str.Failed_to_open_destination_file_to_copy_payload_from:__ls_to:__ls.
push esi
call fcn.0044466b
add esp, 0x10
jmp 0x42abd0
xor edx, edx
lea ecx, [esi + 0x20]
push edx
push ecx
push esi
push fcn.0042a850
push edx
push edx
push eax
push dword [ebp + 0xc]
mov dword [ebp - 0xc], ecx
call fcn.00448a8c
mov esi, eax
test esi, esi
jns 0x42abc7
mov eax, dword [ebp - 0xc]
cmp dword [eax], 0
je 0x42aba7
mov esi, 0x80070642
push esi
push 0x55f
push str.c:_agent_work18_swix_src_burnengine_apply.cpp
call fcn.00403953
push edi
push ebx
push str.BA_aborted_copy_of_payload_from:__ls_to:__ls.
jmp 0x42abbe
push esi
push 0x563
push str.c:_agent_work18_swix_src_burnengine_apply.cpp
call fcn.00403953
push edi
push ebx
push str.Failed_attempt_to_copy_payload_from:__ls_to:__ls.
push esi
call fcn.0044466b
add esp, 0x10
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 8]
cmp eax, 0xffffffff
je 0x42abdf
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
mov eax, esi
pop esi
pop ebx
leave
ret 0x10