Function at 0x47b97d
Capabilities:
Copy file
Delete file
Enumerate files on windows
Persist via lnk shortcut

Disassembly:
push ebp
lea ebp, [esp - 0x11f8]
mov eax, 0x11f8
call fcn.00490990
push 0xffffffffffffffff
push 0x7642df
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
mov eax, dword [0x84dfc0]
xor eax, ebp
mov dword [ebp + 0x11f4], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp + 0x1204]
mov esi, dword [ebp + 0x1200]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 0x1208]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 0x120c]
xor edi, edi
push edi
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], edi
call dword [sym.imp.ole32.dll_CoInitialize]
xor eax, eax
push 0x18e
mov word [ebp + 0xccc], ax
lea eax, [ebp + 0xcce]
push edi
push eax
call fcn.0048d310
push esi
mov esi, dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [ebp + 0xccc]
push 0x80b2a8
push eax
call esi
lea eax, [ebp + 0xccc]
push 0x190
push eax
call fcn.00471c29
xor eax, eax
mov ebx, 0x206
push ebx
mov word [ebp + 0x6b4], ax
lea eax, [ebp + 0x6b6]
push edi
push eax
call fcn.0048d310
xor eax, eax
push ebx
mov word [ebp + 0x2a4], ax
lea eax, [ebp + 0x2a6]
push edi
push eax
call fcn.0048d310
xor eax, eax
push ebx
mov word [ebp + 0x8bc], ax
lea eax, [ebp + 0x8be]
push edi
push eax
call fcn.0048d310
add esp, 0x44
xor eax, eax
push 0x18e
mov word [ebp + 0x1064], ax
lea eax, [ebp + 0x1066]
push edi
push eax
call fcn.0048d310
lea eax, [ebp + 0x2a4]
push eax
call fcn.00471ab0
lea eax, [ebp + 0x2a4]
push eax
lea eax, [ebp + 0x8bc]
push str._s.lnk
push eax
call esi
add esp, 0x1c
lea eax, [ebp]
push eax
lea eax, [ebp + 0x8bc]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x20], eax
cmp eax, 0xffffffff
je 0x47be9a
xor eax, eax
push ebx
mov word [ebp + 0xac4], ax
lea eax, [ebp + 0xac6]
push edi
push eax
call fcn.0048d310
push dword [ebp - 0x18]
lea eax, [ebp + 0xac4]
push 0x80b2a8
push eax
call esi
lea eax, [ebp + 0xac4]
push 0x208
push eax
call fcn.00471aea
lea eax, [ebp + 0xac4]
add esp, 0x20
lea ecx, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
cmp dx, di
jne 0x47bb19
sub eax, ecx
sar eax, 1
inc eax
push eax
lea eax, [ebp + 0xac4]
push eax
call fcn.004922ca
pop ecx
lea eax, [ebp + 0xccc]
pop ecx
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, di
jne 0x47bb40
sub eax, edx
sar eax, 1
inc eax
push eax
lea eax, [ebp + 0xccc]
push eax
call fcn.004922ca
pop ecx
pop ecx
cmp dword [ebp], 0x10
je 0x47bdae
push 0x208
lea eax, [ebp + 0x6b4]
push edi
push eax
call fcn.0048d310
push 0x208
lea eax, [ebp + 0x8bc]
push edi
push eax
call fcn.0048d310
push 0x190
lea eax, [ebp + 0x1064]
push edi
push eax
call fcn.0048d310
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x2a4]
push eax
lea eax, [ebp + 0x8bc]
push 0x78bd78
push eax
call esi
mov ecx, dword [ebp - 0x1c]
add esp, 0x34
lea eax, [ebp + 0x6b4]
push eax
lea eax, [ebp + 0x8bc]
push eax
call fcn.0047b043
mov dword [ebp - 0x10], eax
lea eax, [ebp + 0x6b4]
push eax
lea eax, [ebp + 0x1064]
push 0x80b2a8
push eax
call esi
lea eax, [ebp + 0x1064]
push 0x190
push eax
call fcn.00471b73
lea eax, [ebp + 0x1064]
add esp, 0x14
lea ecx, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
cmp dx, di
jne 0x47bc05
sub eax, ecx
sar eax, 1
inc eax
push eax
lea eax, [ebp + 0x1064]
push eax
call fcn.004922ca
mov eax, dword [ebp - 0x14]
pop ecx
pop ecx
lea ecx, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
cmp dx, di
jne 0x47bc29
sub eax, ecx
sar eax, 1
inc eax
push eax
push dword [ebp - 0x14]
call fcn.004922ca
pop ecx
pop ecx
push dword [ebp - 0x14]
lea ecx, [ebp + 0x288]
call fcn.0044d9a5
mov dword [ebp - 4], edi
cmp dword [ebp + 0x29c], edi
je 0x47bdc8
xor eax, eax
push ebx
mov word [ebp + 0x4ac], ax
lea eax, [ebp + 0x4ae]
push edi
push eax
call fcn.0048d310
mov eax, dword [ebp + 0x28c]
add esp, 0xc
cmp dword [ebp + 0x2a0], 8
jae 0x47bc8f
lea eax, [ebp + 0x28c]
push eax
lea eax, [ebp + 0x4ac]
push 0x80b2a8
push eax
call esi
lea eax, [ebp + 0x4ac]
push 0x208
push eax
call fcn.00471c29
add esp, 0x14
lea eax, [ebp + 0x1064]
push eax
lea ecx, [ebp + 0x26c]
call fcn.0044d9a5
lea eax, [ebp + 0x4ac]
push eax
lea ecx, [ebp + 0x250]
mov byte [ebp - 4], 1
call fcn.0044d9a5
push edi
lea eax, [ebp + 0x250]
push eax
lea ecx, [ebp + 0x26c]
mov byte [ebp - 4], 2
call fcn.0047b2cd
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x10], edi
je 0x47bd80
lea ecx, [ebp + 0xac4]
lea eax, [ebp + 0x1064]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47bd2f
cmp dx, di
je 0x47bd2b
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47bd2f
add eax, 4
add ecx, 4
cmp dx, di
jne 0x47bd09
xor eax, eax
jmp 0x47bd34
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, edi
je 0x47be64
lea eax, [ebp + 0xccc]
lea ecx, [ebp + 0x1064]
mov dx, word [ecx]
cmp dx, word [eax]
jne 0x47bd6e
cmp dx, di
je 0x47bd6a
mov dx, word [ecx + 2]
cmp dx, word [eax + 2]
jne 0x47bd6e
add ecx, 4
add eax, 4
cmp dx, di
jne 0x47bd48
xor eax, eax
jmp 0x47bd73
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, edi
je 0x47bdd0
cmp dword [ebp - 0x28], 0xffffffff
jne 0x47bdd0
mov dword [ebp - 0x10], edi
push edi
push 1
lea ecx, [ebp + 0x250]
call fcn.00449c25
push edi
push 1
lea ecx, [ebp + 0x26c]
call fcn.00449c25
or dword [ebp - 4], 0xffffffff
push edi
push 1
lea ecx, [ebp + 0x288]
call fcn.00449c25
lea eax, [ebp]
push eax
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x47bb5e
jmp 0x47be91
push edi
push 1
jmp 0x47be86
xor eax, eax
push ebx
mov word [ebp + 0xe5c], ax
lea eax, [ebp + 0xe5e]
push edi
push eax
call fcn.0048d310
lea eax, [ebp + 0x6b4]
push eax
lea eax, [ebp + 0xe5c]
push 0x80b2a8
push eax
call esi
lea eax, [ebp + 0xe5c]
push eax
call fcn.00471cb3
lea eax, [ebp + 0xac4]
push eax
lea eax, [ebp + 0xe5c]
push eax
push 0x78bd6c
push eax
call esi
add esp, 0x2c
lea eax, [ebp + 0xe5c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push edi
lea eax, [ebp + 0xe5c]
push eax
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_CopyFileW]
mov ecx, dword [ebp - 0x24]
lea eax, [ebp + 0x6b4]
push eax
call fcn.0044cd2c
mov ecx, dword [ebp - 0x1c]
lea eax, [ebp + 0xe5c]
push eax
lea eax, [ebp + 0x8bc]
push eax
call fcn.0047b145
xor esi, esi
inc esi
push edi
push esi
lea ecx, [ebp + 0x250]
mov dword [ebp - 0x10], esi
call fcn.00449c25
push edi
push esi
lea ecx, [ebp + 0x26c]
call fcn.00449c25
push edi
push esi
lea ecx, [ebp + 0x288]
call fcn.00449c25
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_FindClose]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x11f4]
xor ecx, ebp
call fcn.0048d1f2
add ebp, 0x11f8
leave
ret 0x10