Function at 0x1003e490
Capabilities:
Check if file exists
Delete file
Get common file path
Move file

Disassembly:
push 0x2a4
mov eax, 0x1017cb63
call fcn.10077149
mov ebx, dword [ebp + 8]
push ebx
mov dword [ebp - 0x2ac], ebx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x1003eae6
call fcn.1003dab9
test al, al
je 0x1003e4db
pop esp
pop ecx
pop eax
push edi
pop ebx
pop edx
pop ebp
pop eax
push ebx
push edi
push ebx
push eax
pop ebp
push esi
push eax
push edi
pop ebx
pop esp
pop edi
pop edx
pop eax
mov ebx, dword [ebp - 0x2ac]
call fcn.1003d510
test al, al
je 0x1003e4fe
push ebp
pop edx
pop esp
pop esp
pop ecx
push esp
push ecx
push ebx
pop esp
push eax
push eax
push eax
pop ecx
pop ebp
pop esi
push edx
push ebx
push ebx
push edi
pop eax
pop eax
push eax
push eax
push ebp
pop eax
push esp
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
je 0x1003e52e
call fcn.1003d77d
test al, al
je 0x1003eae6
pop edx
pop ebx
push edx
push eax
push eax
push edi
push ebp
push ecx
pop esi
push esp
push esp
push edx
push esi
push ecx
pop ebp
push edi
pop ecx
pop esi
pop esi
jmp 0x1003eae6
push 0x208
xor ebx, ebx
lea eax, [ebp - 0x218]
push ebx
push eax
call fcn.10054b20
add esp, 0xc
mov dword [ebp - 0x234], 7
xor eax, eax
mov dword [ebp - 0x238], ebx
lea ecx, [ebp - 0x248]
mov word [ebp - 0x248], ax
push ebx
push 0x101d7658
call fcn.10020030
mov dword [ebp - 4], ebx
call fcn.1003d84c
test al, al
je 0x1003e58e
pop edx
push eax
pop ecx
push ecx
pop edx
push esp
push edi
push ebx
pop edx
push esp
push edx
pop ebp
pop ebx
pop edx
pop ebx
pop edx
pop esp
pop ebx
pop ebx
call fcn.1003d59a
test al, al
je 0x1003e5b5
pop ecx
push ebx
pop ebp
pop esi
push edi
push ecx
push esi
push ecx
push ebx
push ebp
pop ecx
pop ebp
pop ebx
push edx
push esp
pop esp
pop eax
pop esi
push eax
pop eax
push edi
push ebx
pop ebx
push edx
push edx
pop ecx
push edi
pop esi
pop edi
pop esp
call fcn.1003d9a5
test al, al
je 0x1003e5ce
pop esi
pop eax
pop esp
push edx
push esi
push edi
push eax
push edx
pop ebp
pop edi
pop edi
pop edi
pop esp
push edx
pop ebp
push edi
call fcn.1003d77d
test al, al
je 0x1003e5ea
push ecx
pop esi
pop ebp
pop edx
pop eax
pop esp
push ebx
push esi
pop edx
pop esp
push ebp
pop ebx
push esp
push edi
pop ebp
push ebx
push ebx
pop ebx
pop esp
call fcn.1003d5df
test al, al
je 0x1003e60a
pop esp
pop esi
pop edi
pop esi
pop ebp
push ebp
push ecx
pop ebp
push eax
push eax
push edx
pop edi
push edi
push esp
pop edx
push edi
pop ebx
pop edi
push ebx
pop eax
pop ecx
pop esp
push esi
lea eax, [ebp - 0x218]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
push dword [ebp - 0x2ac]
lea eax, [ebp - 0x2a8]
push eax
call fcn.1003f6b4
pop ecx
pop ecx
mov byte [ebp - 4], 1
call fcn.1003dab9
test al, al
je 0x1003e64d
push ebx
pop ebx
pop ebp
push ebx
pop esi
push ebp
push esi
pop esi
push ecx
push ebp
push ebp
push esi
push ebp
push ebx
pop ecx
push esp
call fcn.1003db43
test al, al
je 0x1003e66d
pop ebx
push esp
pop esp
pop esi
push ebx
pop ecx
push edx
pop edi
pop esi
push ebx
pop eax
push eax
pop ecx
pop ebp
pop ebp
push ebx
pop ebp
push edi
pop ebx
push ebp
push edx
push edi
push edx
push dword [ebp - 0x2ac]
lea eax, [ebp - 0x278]
push eax
call fcn.1003f9b0
pop ecx
pop ecx
mov byte [ebp - 4], 2
call fcn.1003d738
test al, al
je 0x1003e69f
push ebx
pop esi
pop ebp
pop esi
push esi
push edx
push esp
pop ebp
push ebp
push edx
push ecx
push ebp
pop edi
push ebx
pop esp
pop edi
push eax
call fcn.1003d91b
test al, al
je 0x1003e6c0
pop esi
pop eax
pop eax
push esp
pop ecx
push edx
push edi
pop edx
pop ebp
pop edi
pop ebp
push esi
pop ecx
pop ecx
pop esi
pop esi
pop esp
pop ebx
push ebp
push edx
pop ebp
pop edi
push esp
pop edx
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x260]
push eax
call fcn.1003f9b0
lea eax, [ebp - 0x278]
mov byte [ebp - 4], 3
push eax
call fcn.10041229
add esp, 0xc
call fcn.1003d738
test al, al
je 0x1003e707
push edx
pop ebp
pop eax
push ebp
push edi
push esp
push edi
pop esp
push esp
pop eax
pop ebp
pop eax
push ebx
pop edi
push eax
push ebp
push ebp
pop esp
pop esp
pop esp
pop esp
push edx
push esp
push ebx
lea eax, [ebp - 0x260]
push eax
call fcn.10041229
pop ecx
lea eax, [ebp - 0x278]
push eax
lea ecx, [ebp - 0x260]
call fcn.1003d127
test eax, eax
jne 0x1003e782
call fcn.1003d59a
test al, al
je 0x1003e74f
push edi
pop ecx
push eax
pop eax
pop edx
push esi
push edi
push esi
pop ebp
push eax
pop ebx
pop eax
push ebp
push esp
push esp
pop esp
pop esp
pop esi
pop esi
push ebx
push edi
pop edx
pop esi
pop esi
push edx
pop ecx
push ebp
push edx
cmp word [ebp - 0x218], 0
jne 0x1003e75d
xor eax, eax
jmp 0x1003e76a
lea eax, [ebp - 0x218]
push eax
call fcn.10064038
pop ecx
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x248]
call fcn.10020030
jmp 0x1003e80b
call fcn.1003d891
test al, al
je 0x1003e79d
pop ecx
pop ebx
push ebx
push eax
push edi
pop edi
push edx
pop esp
push ebx
pop edi
pop esp
pop edi
pop esi
pop ecx
pop ebp
pop ebx
pop edx
push ecx
call fcn.1003d9a5
test al, al
je 0x1003e7b6
pop eax
pop ebp
pop edx
push eax
pop esp
push ebp
push edx
push ebp
push edx
push edi
push ebp
push ecx
pop esi
push ebp
pop edi
pop eax
call fcn.1003d59a
test al, al
je 0x1003e7dc
push ecx
pop esi
pop ebx
push esp
pop eax
pop ecx
push edx
push ebp
pop ebx
pop esp
push esi
pop edx
pop eax
push esi
push esi
pop eax
pop eax
pop ebp
pop edi
push edi
pop esp
pop edx
pop esp
push ebp
push edx
push ebp
push edi
push edi
pop ebx
push dword [ebp - 0x2ac]
lea eax, [ebp - 0x290]
push eax
call fcn.1003f8b4
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x248]
call fcn.10021a30
push 0
push 1
lea ecx, [ebp - 0x290]
call fcn.1001ff70
xor ebx, ebx
mov dword [ebp - 0x2b0], ebx
call fcn.1003da2f
test al, al
je 0x1003e831
pop esp
pop edi
pop esp
pop esp
push eax
push edi
push edx
push esp
push edx
pop esp
push esi
pop esi
pop edi
pop esp
pop esp
push esi
push edx
pop esp
pop edx
pop ecx
pop esp
and dword [ebp - 0x220], 0
lea ecx, [ebp - 0x230]
xor eax, eax
mov dword [ebp - 0x21c], 7
push eax
push 0x101d7658
mov word [ebp - 0x230], ax
call fcn.10020030
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x248]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x230]
call fcn.10020280
call fcn.1003d9ea
test al, al
je 0x1003e896
pop eax
push eax
push edi
push esi
push eax
pop esp
push ecx
push edx
pop esi
pop ecx
pop esp
pop edx
pop ecx
push ebp
push edx
push esi
pop edi
pop ebp
pop edi
pop eax
pop eax
push edi
pop esi
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x2a8]
push eax
lea ecx, [ebp - 0x230]
call fcn.10021dc0
push str..dll
call fcn.10064038
pop ecx
push eax
push str..dll
lea ecx, [ebp - 0x230]
call fcn.10021c90
test ebx, ebx
jle 0x1003e907
mov eax, ebx
cdq
push edx
push eax
lea eax, [ebp - 0x290]
push eax
call fcn.1003f186
add esp, 0xc
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 5
call fcn.10021dc0
push 0
push 1
lea ecx, [ebp - 0x290]
mov byte [ebp - 4], 4
call fcn.1001ff70
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x1003e9bc
call fcn.1003d9ea
test al, al
je 0x1003e94a
pop ecx
pop edx
push esi
pop esp
push esi
push esp
pop esi
push esp
push ebp
pop ecx
pop edi
push esp
pop edi
push eax
push esp
push edi
pop esi
pop ecx
pop esi
pop edx
push ecx
push edx
push edx
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x1003e9bc
call fcn.1003d4cb
test al, al
je 0x1003e994
pop ecx
push eax
pop edi
pop eax
pop esi
push ecx
push esi
pop esi
pop edx
pop esp
push esp
pop ecx
pop ecx
push esp
pop ebx
push edx
push esp
pop esp
pop ebx
pop ecx
pop ecx
push edx
pop eax
push ebp
pop eax
pop ecx
pop eax
pop esi
mov ebx, dword [ebp - 0x2b0]
cmp ebx, 0xa
jge 0x1003eaa0
push 0
inc ebx
mov byte [ebp - 4], 3
push 1
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x2b0], ebx
call fcn.1001ff70
jmp 0x1003e831
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
mov edi, dword [ebp - 0x2ac]
cmovae eax, dword [ebp - 0x230]
push eax
push edi
call fcn.10064606
pop ecx
pop ecx
call fcn.1003db43
test al, al
je 0x1003ea0e
push eax
pop eax
push eax
push eax
push ebx
push ebx
push eax
pop esi
pop ecx
push ebp
pop esi
pop edi
pop esp
pop esi
push edi
pop ebx
push edi
push edi
pop eax
pop edx
push ecx
push ebx
pop ebp
pop eax
push ecx
pop esi
push ebx
push esi
pop ebp
pop edx
push ebx
pop edi
mov edi, dword [ebp - 0x2ac]
call fcn.1003d510
test al, al
je 0x1003ea2e
push eax
pop esp
push edx
push eax
pop ecx
pop esp
pop eax
pop ebp
pop eax
pop eax
push ebp
pop ebx
pop eax
pop ebp
push ecx
push eax
pop ebx
pop ebp
pop ecx
push eax
push edi
push ebp
pop esi
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
mov ebx, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmovae eax, dword [ebp - 0x230]
push eax
call ebx
test eax, eax
je 0x1003ea6e
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
push 5
cmovae eax, dword [ebp - 0x230]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
push edi
call ebx
test eax, eax
je 0x1003eaa0
call fcn.1003d9ea
test al, al
je 0x1003ea95
push esp
push esi
push esi
push esp
pop esi
push ebp
pop edx
push ecx
push edx
pop esp
pop edi
push edx
pop edi
push ebp
pop eax
pop ebx
push ebp
mov edi, dword [ebp - 0x2ac]
push 5
push 0
push edi
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
xor edi, edi
lea ecx, [ebp - 0x230]
xor ebx, ebx
push edi
inc ebx
push ebx
call fcn.1001ff70
push edi
push ebx
lea ecx, [ebp - 0x260]
call fcn.1001ff70
push edi
push ebx
lea ecx, [ebp - 0x278]
call fcn.1001ff70
push edi
push ebx
lea ecx, [ebp - 0x2a8]
call fcn.1001ff70
push edi
push ebx
lea ecx, [ebp - 0x248]
call fcn.1001ff70
call fcn.10077104
ret