Function at 0x544360
Capabilities:
Copy file
Delete file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffbd0
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x428], ebx
mov dword [ebp - 0x430], ebx
mov dword [ebp - 0x42c], ebx
mov dword [ebp - 0x424], ebx
mov byte [ebp - 9], cl
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00405130
mov eax, dword [ebp - 8]
call fcn.00405130
xor eax, eax
push ebp
push 0x544666
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 0xa], 0
mov eax, dword [ebp - 8]
call fcn.0040a15c
test al, al
je 0x5443d8
mov edx, 0x20
mov eax, dword [ebp - 8]
call fcn.0040a334
mov eax, dword [ebp - 8]
call fcn.00405140
push eax
call sub.kernel32.dll_DeleteFileA_1
push 0
mov eax, dword [ebp - 8]
call fcn.00405140
push eax
mov eax, dword [ebp - 4]
call fcn.00405140
push eax
call sub.kernel32.dll_CopyFileA
xor eax, eax
push ebp
push 0x54441d
push dword fs:[eax]
mov dword fs:[eax], esp
push 2
mov ecx, dword [ebp - 8]
mov dl, 1
mov eax, dword [0x41c388]
call fcn.00421238
mov dword [ebp - 0x10], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x54447d
push 0
push 0xa
push 0
push 0x400
mov eax, dword [ebp - 0x10]
mov edx, dword [eax]
call dword [edx]
call fcn.00405c28
call fcn.00405ca4
mov ebx, eax
add ebx, 2
push 0
push 0x14
mov eax, dword [ebp - 0x10]
mov edx, dword [eax]
call dword [edx]
call fcn.00405ca4
mov esi, eax
inc esi
xor edx, edx
lea eax, [ebp - 0x20]
mov ecx, edx
imul ecx, esi
add ecx, ebx
mov edi, 0x5446a4
mov cl, byte [edi + ecx - 1]
mov byte [eax], cl
inc edx
inc eax
cmp edx, 8
jne 0x5444b6
xor ecx, ecx
push ebp
push 0x5445b2
push dword fs:[ecx]
mov dword fs:[ecx], esp
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x14]
xor eax, eax
mov dword [ebp - 0x18], eax
lea edx, [ebp - 0x420]
mov ecx, 0x400
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jle 0x5445a1
mov esi, dword [ebp - 0x14]
dec esi
test esi, esi
jl 0x54453d
inc esi
xor edx, edx
lea eax, [ebp - 0x420]
mov ecx, edx
and ecx, 0x80000007
jns 0x54452e
dec ecx
or ecx, 0xfffffff8
inc ecx
mov cl, byte [ebp + ecx - 0x20]
mov bl, byte [eax]
xor cl, bl
mov byte [eax], cl
inc edx
inc eax
dec esi
jne 0x54451f
xor ecx, ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x14]
lea edx, [ebp - 0x420]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
call fcn.00420f84
mov eax, dword [ebp - 0x14]
add dword [ebp - 0x18], eax
cmp byte [ebp - 9], 0
je 0x5445a1
mov eax, dword [ebp - 0x10]
mov edx, dword [eax]
call dword [edx]
push edx
push eax
mov eax, dword [ebp - 0x18]
cdq
cmp edx, dword [esp + 4]
jne 0x54457d
cmp eax, dword [esp]
pop edx
pop eax
je 0x5445a1
lea edx, [ebp - 0x420]
mov ecx, 0x400
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jg 0x54450e
mov byte [ebp - 0xa], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x544633
lea eax, [ebp - 0x10]
call fcn.0040ff7c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x54466d
lea eax, [ebp - 0x430]
mov edx, 4
call fcn.00404ca4
lea eax, [ebp - 8]
mov edx, 2
call fcn.00404ca4
ret