Function at 0x421d12
Capabilities:
Copy file
Delete file
Get common file path

Disassembly:
push 0x244
mov eax, 0x4ac4c9
call fcn.00468c4c
mov dword [ebp - 0x244], ecx
push str.TransferPayloads...
lea ecx, [ebp - 0x224]
call fcn.00402829
xor ebx, ebx
lea edx, [ebp - 0x224]
push ebx
push 2
pop ecx
mov dword [ebp - 4], ebx
call fcn.00414ca1
or dword [ebp - 4], 0xffffffff
pop ecx
mov ecx, dword [ebp - 0x224]
lea ecx, [ecx - 0x10]
call fcn.00402e64
mov edi, dword [0x513f94]
lea eax, [ebp - 0x220]
push 0x105
push ebx
push eax
mov dword [ebp - 0x238], edi
call fcn.00481070
add esp, 0xc
lea eax, [ebp - 0x220]
push eax
push ebx
push ebx
push 0x23
push ebx
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
mov esi, eax
test esi, esi
jns 0x421dcc
push str.SHGetFolderPath_CSIDL_COMMON_APPDATA_failed:
lea ecx, [ebp - 0x224]
call fcn.00402829
xor ecx, ecx
mov dword [ebp - 4], 1
push esi
lea edx, [ebp - 0x224]
inc ecx
call fcn.00414ca1
pop ecx
mov ecx, dword [ebp - 0x224]
lea ecx, [ecx - 0x10]
jmp 0x421fdd
lea eax, [ebp - 0x220]
push eax
lea ecx, [ebp - 0x234]
call fcn.00402829
push str.AdobeARM
lea ecx, [ebp - 0x234]
mov dword [ebp - 4], 2
call fcn.0040259d
test edi, edi
jle 0x421fd2
push ebx
mov ecx, 0x513f8c
call fcn.0040a0bf
mov edi, eax
mov dword [ebp - 0x24c], edi
mov eax, dword [edi]
test eax, eax
je 0x421f8e
cmp dword [eax + 0x18], 0
je 0x421f8e
mov eax, dword [eax + 8]
sub eax, 0x10
push eax
call fcn.00402d9f
pop ecx
lea esi, [eax + 0x10]
mov dword [ebp - 0x224], esi
push 0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x224]
push dword [ebp - 0x234]
call fcn.00409b2e
cmp eax, 0xffffffff
jne 0x421f85
lea eax, [esi - 0x10]
push eax
mov dword [ebp - 0x250], eax
call fcn.00402d9f
add eax, 0x10
pop ecx
mov dword [ebp - 0x22c], eax
mov byte [ebp - 4], 4
mov eax, dword [edi]
add eax, 4
push eax
mov eax, dword [ebp - 0x244]
add eax, 0xc
push eax
lea eax, [ebp - 0x248]
push eax
call fcn.004024b8
add esp, 0xc
push eax
lea ecx, [ebp - 0x22c]
mov byte [ebp - 4], 5
call fcn.00402e14
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x248]
lea ecx, [ecx - 0x10]
call fcn.00402e64
mov edi, dword [ebp - 0x22c]
push 0
push edi
push esi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x421fea
mov eax, dword [ebp - 0x24c]
mov ecx, dword [eax]
lea eax, [ebp - 0x22c]
push eax
lea ecx, [ecx + 8]
call fcn.00402e14
push str.Transfered:
lea ecx, [ebp - 0x23c]
call fcn.00402829
push 0
lea eax, [ebp - 0x22c]
mov byte [ebp - 4], 9
push eax
push 2
lea edx, [ebp - 0x23c]
pop ecx
call fcn.00414570
pop ecx
pop ecx
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx - 0x10]
call fcn.00402e64
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x421f77
push str.failed_to_cleanup_file:
lea ecx, [ebp - 0x240]
call fcn.00402829
mov byte [ebp - 4], 0xa
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x224]
xor ecx, ecx
push eax
lea edx, [ebp - 0x240]
inc ecx
call fcn.00414570
pop ecx
pop ecx
mov ecx, dword [ebp - 0x240]
lea ecx, [ecx - 0x10]
call fcn.00402e64
mov esi, dword [ebp - 0x224]
mov ecx, dword [ebp - 0x22c]
lea ecx, [ecx - 0x10]
call fcn.00402e64
mov byte [ebp - 4], 2
lea ecx, [esi - 0x10]
jmp 0x421fc0
push str.Warning__invalid_file_object
lea ecx, [ebp - 0x230]
call fcn.00402829
push 0
push 2
lea edx, [ebp - 0x230]
mov byte [ebp - 4], 0xb
pop ecx
call fcn.00414ca1
pop ecx
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x230]
lea ecx, [ecx - 0x10]
call fcn.00402e64
inc ebx
cmp ebx, dword [ebp - 0x238]
jl 0x421dfd
xor esi, esi
mov ecx, dword [ebp - 0x234]
add ecx, 0xfffffff0
call fcn.00402e64
mov eax, esi
call fcn.00468bf6
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
lea eax, [ebp - 0x224]
push eax
lea eax, [ebp - 0x238]
push str.Copy_payload
push eax
call fcn.004023f1
add esp, 0xc
push str._failed:
push eax
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 6
push eax
call fcn.00402459
add esp, 0xc
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x238]
lea ecx, [ecx - 0x10]
call fcn.00402e64
xor ecx, ecx
lea edx, [ebp - 0x230]
push esi
inc ecx
call fcn.00414d76
pop ecx
lea eax, [ebp - 0x225]
mov byte [ebp - 0x225], 0
push eax
push esi
push str.Transfer_Payload_Failed
mov ecx, 0x513e58
call fcn.0040a210
mov ecx, dword [ebp - 0x230]
lea ecx, [ecx - 0x10]
call fcn.00402e64
lea ecx, [edi - 0x10]
call fcn.00402e64
mov ecx, dword [ebp - 0x250]
call fcn.00402e64
jmp 0x421fd4