Function at 0x41ca90
Capabilities:
Delete file
Get common file path
Move file

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x473651
mov eax, dword fs:[0]
push eax
sub esp, 0x248
mov eax, dword [0x475280]
xor eax, ebp
mov dword [ebp - 0x10], eax
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
lea ecx, [ebp - 0x248]
call fcn.0041c0f0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x238]
call fcn.004166f0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x250]
call fcn.004166f0
mov byte [ebp - 4], 2
push 0x20a
push 0
lea eax, [ebp - 0x21c]
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov dword [ebp - 0x220], 0
push 0x104
lea ecx, [ebp - 0x21c]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
ja 0x41cb52
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.00411710
mov dword [ebp - 0x220], eax
cmp dword [ebp - 0x220], 0
jge 0x41cb52
mov edx, dword [ebp - 0x220]
push edx
call fcn.0041c370
jmp 0x41cfc8
push 0xffffffffffffffff
push 0x4044e0
push 0xffffffffffffffff
push 0x4044e0
push 1
push 0x409
call dword [sym.imp.KERNEL32.dll_CompareStringW]
sub eax, 2
jne 0x41cbca
push 0x105
push 0
lea eax, [ebp - 0x21c]
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x21c]
push ecx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
jne 0x41cbca
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.00411710
mov dword [ebp - 0x220], eax
cmp dword [ebp - 0x220], 0
jge 0x41cbca
mov edx, dword [ebp - 0x220]
push edx
call fcn.0041c370
jmp 0x41cfc8
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
test eax, eax
jne 0x41cc07
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.00411710
mov dword [ebp - 0x220], eax
cmp dword [ebp - 0x220], 0
jge 0x41cc07
mov ecx, dword [ebp - 0x220]
push ecx
call fcn.0041c370
jmp 0x41cfc8
lea edx, [ebp - 0x21c]
add edx, 0xfffffffe
mov dword [ebp - 0x22c], edx
mov eax, dword [ebp - 0x22c]
mov cx, word [eax + 2]
mov word [ebp - 0x23a], cx
add dword [ebp - 0x22c], 2
cmp word [ebp - 0x23a], 0
jne 0x41cc16
mov edi, dword [ebp - 0x22c]
mov edx, dword [0x4020a8]
mov dword [edi], edx
lea eax, [ebp - 0x21c]
add eax, 0xfffffffe
mov dword [ebp - 0x230], eax
mov ecx, dword [ebp - 0x230]
mov dx, word [ecx + 2]
mov word [ebp - 0x23c], dx
add dword [ebp - 0x230], 2
cmp word [ebp - 0x23c], 0
jne 0x41cc55
mov edi, dword [ebp - 0x230]
mov eax, dword [0x4044ec]
mov dword [edi], eax
mov ecx, dword [0x4044f0]
mov dword [edi + 4], ecx
mov edx, dword [0x4044f4]
mov dword [edi + 8], edx
mov eax, dword [0x4044f8]
mov dword [edi + 0xc], eax
mov ecx, dword [0x4044fc]
mov dword [edi + 0x10], ecx
mov edx, dword [0x404500]
mov dword [edi + 0x14], edx
lea eax, [ebp - 0x24c]
push eax
lea ecx, [ebp - 0x21c]
push ecx
call fcn.0041eb50
mov dword [ebp - 0x220], eax
cmp dword [ebp - 0x220], 0
jge 0x41cce3
mov edx, dword [ebp - 0x220]
push edx
call fcn.0041c370
jmp 0x41cfc8
cmp dword [ebp - 0x24c], 0
jne 0x41cd1a
push 0
lea eax, [ebp - 0x21c]
push eax
call fcn.0041e6f0
mov dword [ebp - 0x220], eax
cmp dword [ebp - 0x220], 0
jge 0x41cd1a
mov ecx, dword [ebp - 0x220]
push ecx
call fcn.0041c370
jmp 0x41cfc8
mov dword [ebp - 0x234], 0
jmp 0x41cd35
mov edx, dword [ebp - 0x234]
add edx, 1
mov dword [ebp - 0x234], edx
cmp dword [ebp - 0x234], 0xc8
jae 0x41cdd8
push 0
lea ecx, [ebp - 0x238]
call fcn.00417790
mov eax, dword [ebp - 0x234]
add eax, 1
push eax
push 0x404504
lea ecx, [ebp - 0x21c]
push ecx
push 0x404530
lea ecx, [ebp - 0x238]
call fcn.004129e0
push eax
call fcn.004178b0
add esp, 0x14
mov dword [ebp - 0x220], eax
cmp dword [ebp - 0x220], 0
jge 0x41cda1
mov edx, dword [ebp - 0x220]
push edx
call fcn.0041c370
jmp 0x41cfc8
lea eax, [ebp - 0x238]
push eax
lea ecx, [ebp - 0x248]
call fcn.0041c0a0
mov dword [ebp - 0x220], eax
cmp dword [ebp - 0x220], 0
jge 0x41cdd3
mov ecx, dword [ebp - 0x220]
push ecx
call fcn.0041c370
jmp 0x41cfc8
jmp 0x41cd26
lea edx, [ebp - 0x228]
push edx
push 0xc7
lea ecx, [ebp - 0x248]
call fcn.0041ec50
mov ecx, eax
call fcn.0041b460
push eax
call fcn.0041eb10
mov dword [ebp - 0x220], eax
cmp dword [ebp - 0x220], 0
jge 0x41ce1c
mov eax, dword [ebp - 0x220]
push eax
call fcn.0041c370
jmp 0x41cfc8
cmp dword [ebp - 0x228], 0
je 0x41ce6a
push 0xc7
lea ecx, [ebp - 0x248]
call fcn.0041ec50
mov ecx, eax
call fcn.0041b460
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x41ce6a
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.0041c350
mov dword [ebp - 0x220], eax
mov ecx, dword [ebp - 0x220]
push ecx
call fcn.0041c370
jmp 0x41cfc8
mov dword [ebp - 0x224], 0xc7
jmp 0x41ce85
mov edx, dword [ebp - 0x224]
sub edx, 1
mov dword [ebp - 0x224], edx
cmp dword [ebp - 0x224], 0
je 0x41cf4d
lea eax, [ebp - 0x228]
push eax
mov ecx, dword [ebp - 0x224]
sub ecx, 1
push ecx
lea ecx, [ebp - 0x248]
call fcn.0041ec50
mov ecx, eax
call fcn.0041b460
push eax
call fcn.0041eb10
mov dword [ebp - 0x220], eax
cmp dword [ebp - 0x220], 0
jge 0x41cedb
mov edx, dword [ebp - 0x220]
push edx
call fcn.0041c370
jmp 0x41cfc8
cmp dword [ebp - 0x228], 0
je 0x41cf48
mov eax, dword [ebp - 0x224]
push eax
lea ecx, [ebp - 0x248]
call fcn.0041ec50
mov ecx, eax
call fcn.0041b460
push eax
mov ecx, dword [ebp - 0x224]
sub ecx, 1
push ecx
lea ecx, [ebp - 0x248]
call fcn.0041ec50
mov ecx, eax
call fcn.0041b460
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
jne 0x41cf48
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.0041c350
mov dword [ebp - 0x220], eax
mov edx, dword [ebp - 0x220]
push edx
call fcn.0041c370
jmp 0x41cfc8
jmp 0x41ce76
lea eax, [ebp - 0x228]
push eax
push 0
lea ecx, [ebp - 0x248]
call fcn.0041ec50
mov ecx, eax
call fcn.0041b460
push eax
call fcn.0041eb10
mov dword [ebp - 0x220], eax
cmp dword [ebp - 0x220], 0
jge 0x41cf8b
mov ecx, dword [ebp - 0x220]
push ecx
call fcn.0041c370
jmp 0x41cfc8
cmp dword [ebp - 0x228], 0
je 0x41cfaf
push 0
lea ecx, [ebp - 0x248]
call fcn.0041ec50
mov ecx, eax
call fcn.0041b460
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push 0
lea ecx, [ebp - 0x248]
call fcn.0041ec50
mov ecx, eax
call fcn.0041c190
mov edx, dword [ebp + 8]
mov dword [edx], eax
mov eax, dword [ebp - 0x220]
push eax
call fcn.0041c3a0
mov ecx, dword [ebp - 0x220]
mov dword [ebp - 0x254], ecx
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x250]
call fcn.0041dc80
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x238]
call fcn.00417890
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x248]
call fcn.0041c0d0
mov eax, dword [ebp - 0x254]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00471d10
mov esp, ebp
pop ebp
ret 4