Function at 0x405623
Capabilities:
Delete file
Get common file path
Set file attributes

Disassembly:
push 0x6cc
push 0x401670
call fcn.0041b130
mov eax, dword [0x4233cc]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x6b4], eax
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x6ac], ecx
mov ecx, dword [ebp + 0x18]
mov dword [ebp - 0x6b8], ecx
mov ecx, dword [ebp + 0x20]
mov dword [ebp - 0x6a0], ecx
mov ecx, dword [ebp + 0x24]
mov dword [ebp - 0x6c4], ecx
mov ecx, dword [ebp + 0x28]
mov dword [ebp - 0x6bc], ecx
xor esi, esi
mov dword [ebp - 0x68c], esi
mov dword [ebp - 0x698], esi
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x680], eax
mov dword [ebp - 0x6a4], esi
mov dword [ebp - 0x684], esi
mov dword [ebp - 4], esi
mov dword [ecx], esi
or dword [ebp - 4], 0xffffffff
jmp 0x4056ab
cmp dword [ebp - 0x6ac], esi
jne 0x4056b7
push 0x57
jmp 0x4056d0
push dword [ebp - 0x6ac]
call fcn.0041a3e9
mov edi, eax
mov dword [ebp - 0x690], edi
cmp edi, esi
jne 0x4056d6
push 8
pop edi
jmp 0x405b11
push dword [ebp - 0x6b8]
call fcn.0041a3e9
mov ebx, eax
mov dword [ebp - 0x6b0], ebx
cmp ebx, esi
jne 0x4056f5
push 8
pop edi
jmp 0x405b06
push esi
push dword [ebp - 0x680]
call fcn.004045cf
mov dword [ebp - 0x68c], eax
push ebx
push edi
push esi
push 0xee60
push eax
push dword [ebp - 0x680]
call fcn.00404dc2
add esp, 0x18
push ebx
call fcn.0041abac
test eax, eax
jne 0x4058a8
lea eax, [ebp - 0x6a8]
push eax
lea eax, [ebp - 0x6dc]
push eax
lea eax, [ebp - 0x67c]
push eax
lea eax, [ebp - 0x6c0]
push eax
push edi
call fcn.00405e27
mov edi, eax
cmp edi, esi
jne 0x405b00
push dword [ebp - 0x690]
call fcn.0041a398
mov eax, dword [ebp - 0x6c0]
mov dword [ebp - 0x690], eax
push eax
call fcn.0041a663
mov dword [ebp - 0x69c], eax
push ebx
call fcn.0041a663
push eax
push dword [ebp - 0x69c]
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x4057bc
push 0x2e
push dword [ebp - 0x69c]
call dword [sym.imp.msvcrt.dll_wcsrchr]
pop ecx
pop ecx
cmp eax, esi
je 0x4057bc
push 0x401660
push eax
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x4057bc
or dword [ebp + 0x1c], 0x10
mov edi, 0x104
test byte [ebp + 0x1c], 0x10
je 0x405837
mov dword [ebp - 0x6a8], esi
push edi
push ebx
lea eax, [ebp - 0x224]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
lea eax, [ebp - 0x224]
push eax
call fcn.0041a663
mov word [eax], si
push esi
push edi
push dword [ebp - 0x69c]
lea eax, [ebp - 0x224]
push eax
call fcn.0041a5b7
test eax, eax
jne 0x40580b
add edi, 0xffffffca
jmp 0x405b00
lea eax, [ebp - 0x224]
push eax
call fcn.0041a3e9
mov dword [ebp - 0x6c8], eax
cmp eax, esi
je 0x4058ca
push ebx
call fcn.0041a398
mov ebx, dword [ebp - 0x6c8]
mov dword [ebp - 0x6b0], ebx
push esi
push ebx
call fcn.0041ab1f
test eax, eax
je 0x405848
mov dword [ebp - 0x698], ebx
cmp dword [ebp - 0x698], esi
je 0x40586c
lea eax, [ebp - 0x684]
push eax
push dword [ebp - 0x698]
call fcn.0040cc8c
test eax, eax
je 0x40586c
mov dword [ebp - 0x684], esi
push edi
push ebx
lea eax, [ebp - 0x224]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
lea eax, [ebp - 0x224]
push eax
call fcn.0041a663
mov word [eax], si
lea eax, [ebp - 0x42c]
push eax
push esi
push 0x401654
lea eax, [ebp - 0x224]
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
test eax, eax
jne 0x4058b2
mov edi, 0xe0000233
jmp 0x405b00
lea eax, [ebp - 0x42c]
push eax
call fcn.0041a3e9
mov edi, eax
mov dword [ebp - 0x688], edi
cmp edi, esi
jne 0x4058d2
push 8
pop edi
jmp 0x405b00
push dword [ebp - 0x68c]
push dword [ebp - 0x680]
call fcn.00404744
push esi
push 0x30
push dword [ebp - 0x680]
call fcn.00404d82
mov dword [ebp - 0x68c], eax
push edi
push ebx
push dword [ebp - 0x690]
push esi
push 0xef98
push eax
push dword [ebp - 0x680]
call fcn.00404dc2
add esp, 0x1c
push esi
push esi
lea eax, [ebp - 0x6a8]
push eax
push edi
push dword [ebp - 0x690]
call fcn.00405f9e
mov edi, eax
cmp edi, esi
jne 0x405af5
push 0x80
push ebx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
cmp dword [ebp - 0x698], esi
je 0x40594d
test byte [ebp + 0x1d], 2
jne 0x4059c8
push ebx
push dword [ebp - 0x688]
call fcn.0040c894
mov dword [ebp - 0x694], eax
cmp eax, esi
je 0x4059c8
cmp dword [ebp - 0x684], esi
je 0x405aba
push dword [ebp - 0x684]
push ebx
call fcn.0040cd53
mov edi, eax
push ebx
push esi
cmp edi, esi
je 0x4059ae
push 0xef41
push 0x20000010
push dword [ebp - 0x680]
call fcn.00404dc2
add esp, 0x14
push edi
push 0x10
push dword [ebp - 0x680]
call fcn.00405579
jmp 0x405aba
push 0xef42
push 0x40
push dword [ebp - 0x680]
call fcn.00404dc2
add esp, 0x14
jmp 0x405aba
xor eax, eax
inc eax
mov dword [ebp - 0x694], eax
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x6bc]
mov dword [ecx], eax
or dword [ebp - 4], 0xffffffff
jmp 0x4059fb
cmp dword [ebp - 0x694], esi
je 0x405ab2
push esi
mov edi, dword [ebp - 0x680]
push edi
push ebx
call fcn.0040c914
push eax
push ebx
push dword [ebp - 0x688]
push dword [ebp - 0x6b4]
call fcn.00403ae5
mov dword [ebp - 0x694], eax
cmp eax, esi
je 0x405aba
cmp dword [ebp - 0x684], esi
je 0x405a4f
push dword [ebp - 0x684]
push dword [ebp - 0x688]
call fcn.0040cd53
cmp edi, esi
je 0x405a6b
push dword [ebp - 0x688]
push ebx
push esi
push 0xef06
push 0x20
push edi
call fcn.00404dc2
add esp, 0x18
cmp dword [ebp - 0x6a0], esi
je 0x405aba
mov eax, dword [ebp - 0x688]
mov dword [ebp - 0x6d4], eax
mov dword [ebp - 0x6d8], ebx
mov dword [ebp - 0x6d0], esi
mov dword [ebp - 0x6cc], esi
push esi
lea eax, [ebp - 0x6d8]
push eax
push 0x14
push dword [ebp - 0x6c4]
push dword [ebp + 0x2c]
push dword [ebp - 0x6a0]
push edi
call fcn.0040c671
jmp 0x405aba
push 0x57
call dword [sym.imp.KERNEL32.dll_SetLastError]
cmp dword [ebp - 0x694], esi
jne 0x405ae9
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
push 0x80
push dword [ebp - 0x688]
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push dword [ebp - 0x688]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
jmp 0x405af5
xor edi, edi
mov dword [ebp - 0x6a4], 1
push dword [ebp - 0x688]
call fcn.0041a398
push ebx
call fcn.0041a398
push dword [ebp - 0x690]
call fcn.0041a398
cmp dword [ebp - 0x684], esi
je 0x405b24
push dword [ebp - 0x684]
call fcn.0041a398
cmp edi, esi
je 0x405b3a
push esi
push edi
push 0x10
push dword [ebp - 0x680]
call fcn.00404dc2
add esp, 0x10
cmp dword [ebp - 0x68c], esi
je 0x405b53
push dword [ebp - 0x68c]
push dword [ebp - 0x680]
call fcn.00404744
push edi
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [ebp - 0x6a4]
mov ecx, dword [ebp - 0x1c]
call fcn.00419835
call fcn.0041b16b
ret 0x28