Function at 0x50c1c7
Capabilities:
Delete file
Move file

Disassembly:
mov eax, 0x69f7e3
call fcn.006375a8
sub esp, 0x870
push edi
mov edi, ecx
cmp byte [edi], 0
jne 0x50c1e6
mov al, 1
jmp 0x50c5b2
push ebx
xor ebx, ebx
push esi
cmp dword [edi + 8], ebx
jne 0x50c2b0
lea ecx, [edi + 0xac]
call fcn.00545019
fld qword [0x6c5050]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x50c2b0
mov ebx, dword [ebp + 8]
cmp byte [ebx], 6
je 0x50c596
or dword [ebx + 0xc], 0xffffffff
mov byte [ebx], 3
call fcn.00490be1
push eax
push 3
lea ecx, [ebp - 0x48]
call fcn.00490637
add edi, 0x90
push 8
pop esi
mov dword [ebp - 4], esi
cmp dword [edi + 0x14], esi
jb 0x50c247
mov edi, dword [edi]
push dword [ebx + 0xc]
lea ecx, [ebp - 0x48]
push str.error
call fcn.00464a5c
push edi
push str.transcript
lea ecx, [ebp - 0x48]
call fcn.00464a5c
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x64]
call fcn.004905ec
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0xa
call fcn.004906e8
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x7c]
push eax
call fcn.004925b0
lea ecx, [ebx + 0x34]
push eax
call fcn.0042623d
push 0
push 1
lea ecx, [ebp - 0x7c]
call fcn.004267c2
lea eax, [ebp - 0x64]
push eax
call fcn.0049240b
lea ecx, [ebp - 0x64]
jmp 0x50c591
push ebx
push dword [edi + 8]
call dword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
mov ecx, edi
test eax, eax
jne 0x50c59a
mov ebx, dword [ebp + 8]
push ebx
call fcn.0050be5c
push dword [edi + 0xa8]
mov esi, dword [sym.imp.KERNEL32.DLL_CloseHandle]
call esi
or dword [edi + 0xa8], 0xffffffff
lea eax, [ebp - 0x10]
push eax
push dword [edi + 8]
call dword [sym.imp.KERNEL32.DLL_GetExitCodeProcess]
mov eax, dword [ebp - 0x10]
mov dword [ebx + 0xc], eax
push dword [edi + 8]
call esi
and dword [edi + 8], 0
cmp dword [ebx + 0xc], 0
push 8
pop esi
jne 0x50c427
lea eax, [edi + 0x60]
cmp dword [eax + 0x14], esi
jb 0x50c315
mov eax, dword [eax]
lea ecx, [edi + 0x48]
cmp dword [ecx + 0x14], esi
jb 0x50c31f
mov ecx, dword [ecx]
push eax
push ecx
call dword [sym.imp.KERNEL32.DLL_MoveFileW]
test eax, eax
je 0x50c33a
mov byte [ebx], 6
mov dword [ebx + 8], 0x3e8
jmp 0x50c401
call dword [sym.imp.KERNEL32.DLL_GetLastError]
push 0x400
lea ecx, [ebp - 0x87c]
mov dword [ebp - 0x54], eax
push ecx
push eax
mov byte [ebx], 3
mov dword [ebx + 0xc], eax
call fcn.004608a4
call fcn.00490be1
push eax
push 1
lea ecx, [ebp - 0x20]
call fcn.00490637
and dword [ebp - 4], 0
lea eax, [edi + 0x90]
mov dword [ebp + 8], eax
cmp dword [eax + 0x14], esi
jb 0x50c382
mov eax, dword [eax]
mov dword [ebp + 8], eax
lea eax, [ebp - 0x87c]
push eax
push 0x6cc64c
lea ecx, [ebp - 0x20]
call fcn.00464a5c
push dword [ebp - 0x54]
lea ecx, [ebp - 0x20]
push str.error
call fcn.00464a5c
push dword [ebp + 8]
lea ecx, [ebp - 0x20]
push str.transcript
call fcn.00464a5c
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x38]
call fcn.004905ec
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 2
call fcn.004906e8
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x7c]
push eax
call fcn.004925b0
lea ecx, [ebx + 0x34]
push eax
call fcn.0042623d
push 0
push 1
lea ecx, [ebp - 0x7c]
call fcn.004267c2
lea eax, [ebp - 0x38]
push eax
call fcn.0049240b
lea ecx, [ebp - 0x38]
call fcn.004906e8
cmp byte [0x79ff78], 0
je 0x50c596
add edi, 0x90
cmp dword [edi + 0x14], esi
jb 0x50c41b
mov edi, dword [edi]
push edi
call dword [sym.imp.KERNEL32.DLL_DeleteFileW]
jmp 0x50c596
lea eax, [edi + 0x48]
mov byte [ebx], 3
cmp dword [eax + 0x14], esi
jb 0x50c434
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.DLL_DeleteFileW]
lea eax, [ebp - 0x28]
push eax
lea ecx, [edi + 0xac]
call fcn.0050ba8f
push eax
lea eax, [ebp - 0x50]
mov dword [ebp - 4], 3
push eax
call fcn.0043ee34
lea ecx, [ebx + 0x34]
push eax
call fcn.0042623d
push 0
push 1
lea ecx, [ebp - 0x50]
call fcn.004267c2
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
push 0
push 1
call fcn.0040daff
call fcn.00490be1
push eax
push 4
lea ecx, [ebp - 0x20]
call fcn.00490637
add edi, 0x90
mov dword [ebp - 4], 4
cmp dword [edi + 0x14], esi
jb 0x50c4a9
mov ecx, dword [edi]
mov dword [ebp + 8], ecx
jmp 0x50c4ac
mov dword [ebp + 8], edi
lea eax, [ebx + 0x34]
cmp dword [eax + 0x14], esi
jb 0x50c4b6
mov eax, dword [eax]
push eax
push 0x6cc64c
lea ecx, [ebp - 0x20]
call fcn.00464a5c
push dword [ebx + 0xc]
lea ecx, [ebp - 0x20]
push str.error
call fcn.00464a5c
push dword [ebp + 8]
lea ecx, [ebp - 0x20]
push str.transcript
call fcn.00464a5c
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x38]
call fcn.004905ec
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 6
call fcn.004906e8
cmp dword [ebx + 0x44], 0
jne 0x50c563
call fcn.00490be1
push eax
push 2
lea ecx, [ebp - 0x48]
call fcn.00490637
mov byte [ebp - 4], 7
cmp dword [edi + 0x14], esi
jb 0x50c51d
mov edi, dword [edi]
push dword [ebp - 0x10]
lea ecx, [ebp - 0x48]
push 0x6d9f20
call fcn.00464a5c
push dword [ebx + 0xc]
lea ecx, [ebp - 0x48]
push str.error
call fcn.00464a5c
push edi
push str.transcript
lea ecx, [ebp - 0x48]
call fcn.00464a5c
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x38]
call fcn.004907b2
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 6
call fcn.004906e8
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x7c]
push eax
call fcn.004925b0
push eax
lea ecx, [ebx + 0x34]
call fcn.0042623d
push 0
push 1
lea ecx, [ebp - 0x7c]
call fcn.004267c2
lea eax, [ebp - 0x38]
push eax
call fcn.0049240b
lea ecx, [ebp - 0x38]
call fcn.004906e8
xor al, al
jmp 0x50c5b0
mov esi, dword [ebp + 8]
push esi
mov byte [esi], 1
call fcn.0050be5c
cmp dword [edi + 0x14], ebx
je 0x50c5ae
mov byte [esi], 2
mov al, 1
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4