Function at 0x4028f0
Capabilities:
Delete file
Move file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc48
push esi
mov esi, dword [ebp + 0x10]
xor eax, eax
push esi
mov word [ebp - 0x10], ax
mov word [ebp - 0x218], ax
lea eax, [ebp - 0x218]
push 0x104
push eax
call fcn.00402f80
add esp, 0xc
test al, al
je 0x402cfc
push 0x40133c
lea eax, [ebp - 0x218]
push 0x104
push eax
call fcn.00402f30
add esp, 0xc
test al, al
je 0x402cfc
push ebx
mov ebx, dword [ebp + 0xc]
lea eax, [ebp - 0xc]
push edi
mov edi, dword [ebp + 0x14]
push eax
push 0x402270
push 0x401408
mov dword [ebp - 0xc], esi
mov esi, dword [ebp + 0x18]
push ebx
mov dword [ebp - 8], edi
mov dword [ebp - 4], esi
call dword [sym.imp.KERNEL32.dll_EnumResourceNamesW]
test eax, eax
je 0x402cf0
push 0x104
push edi
call fcn.00402fd0
add esp, 8
test eax, eax
je 0x402cf0
push 0x104
push esi
xor edi, edi
call fcn.00402fd0
add esp, 8
test eax, eax
je 0x402b8a
mov ebx, dword [ebp + 8]
xor eax, eax
mov word [ebp - 0x428], ax
mov word [ebp - 0xc48], ax
mov word [ebp - 0x21c], ax
mov word [ebp - 0x424], ax
lea eax, [ebp - 0x424]
push 0x104
push eax
push ebx
call fcn.004020a0
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x402b22
lea eax, [ebp - 0x424]
push eax
lea eax, [ebp - 0xc48]
push 0x410
push eax
call fcn.00402f30
add esp, 0xc
test al, al
je 0x402b1d
push 0x4012e0
lea eax, [ebp - 0xc48]
push 0x410
push eax
call fcn.00402f30
add esp, 0xc
test al, al
je 0x402b1d
push 0x40138c
lea eax, [ebp - 0xc48]
push 0x410
push eax
call fcn.00402f30
add esp, 0xc
test al, al
je 0x402b1d
push 0x4012e8
lea eax, [ebp - 0xc48]
push 0x410
push eax
call fcn.00402f30
add esp, 0xc
test al, al
je 0x402b1d
push esi
lea eax, [ebp - 0xc48]
push 0x410
push eax
call fcn.00402f30
add esp, 0xc
test al, al
je 0x402b1d
push 0x4012f0
lea eax, [ebp - 0xc48]
push 0x410
push eax
call fcn.00402f30
add esp, 0xc
test al, al
je 0x402b1d
push 0x4013b0
lea eax, [ebp - 0xc48]
push 0x410
push eax
call fcn.00402f30
add esp, 0xc
test al, al
je 0x402b1d
push 0x4012e8
lea eax, [ebp - 0xc48]
push 0x410
push eax
call fcn.00402f30
add esp, 0xc
test al, al
je 0x402b1d
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0xc48]
push 0x410
push eax
call fcn.00402f30
add esp, 0xc
test al, al
je 0x402b1d
push 0x4012fc
lea eax, [ebp - 0xc48]
push 0x410
push eax
call fcn.00402f30
add esp, 0xc
test al, al
jne 0x402b22
mov edi, 0x69
lea eax, [ebp - 0xc48]
push eax
push ebx
call fcn.00401cf0
add esp, 8
test edi, edi
jne 0x402b7a
lea eax, [ebp - 0xc48]
push eax
lea eax, [ebp - 0x424]
push eax
call fcn.004025e0
mov edi, eax
add esp, 8
test edi, edi
jne 0x402b7a
lea eax, [ebp - 0x218]
push eax
push 0x104
push esi
call fcn.00402f80
add esp, 0xc
mov ecx, 0x6c
test al, al
cmove edi, ecx
mov eax, edi
pop edi
pop ebx
pop esi
mov esp, ebp
pop ebp
ret
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov eax, edi
pop edi
pop ebx
pop esi
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0xc]
push eax
push 0x402270
push 0x401400
push ebx
call dword [sym.imp.KERNEL32.dll_EnumResourceNamesW]
test eax, eax
jne 0x402bbc
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x715
je 0x402bbc
pop edi
pop ebx
mov eax, 0x71
pop esi
mov esp, ebp
pop ebp
ret
push 0x104
push esi
call fcn.00402fd0
add esp, 8
test eax, eax
je 0x402c31
lea eax, [ebp - 0x218]
push eax
push esi
call fcn.00401760
add esp, 8
mov bl, al
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test bl, bl
je 0x402c23
lea eax, [ebp - 0x218]
push eax
push 0x104
push esi
call fcn.00402f80
add esp, 0xc
test al, al
jne 0x402b71
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov edi, 0x6c
mov eax, edi
pop edi
pop ebx
pop esi
mov esp, ebp
pop ebp
ret
mov edi, 0x73
mov eax, edi
pop edi
pop ebx
pop esi
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0xc]
push eax
push 0x402270
push 0x4013f8
push ebx
call dword [sym.imp.KERNEL32.dll_EnumResourceNamesW]
test eax, eax
jne 0x402c63
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x715
je 0x402c63
pop edi
pop ebx
mov eax, 0x72
pop esi
mov esp, ebp
pop ebp
ret
push 0x104
push esi
call fcn.00402fd0
add esp, 8
test eax, eax
je 0x402ccf
lea eax, [ebp - 0x218]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x402ccf
push 3
lea eax, [ebp - 0x218]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
test eax, eax
jne 0x402ca9
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
xor eax, eax
mov word [esi], ax
jmp 0x402ccf
lea eax, [ebp - 0x218]
push eax
push 0x104
push esi
call fcn.00402f80
add esp, 0xc
test al, al
jne 0x402ccf
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push 0x104
push esi
call fcn.00402fd0
add esp, 8
mov ecx, 0x74
test eax, eax
cmove edi, ecx
mov eax, edi
pop edi
pop ebx
pop esi
mov esp, ebp
pop ebp
ret
pop edi
pop ebx
mov eax, 0x70
pop esi
mov esp, ebp
pop ebp
ret
mov eax, 0x6c
pop esi
mov esp, ebp
pop ebp
ret