Function at 0x4038a0
Capabilities:
Delete file
Move file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa48
push esi
mov esi, dword [ebp + 0x10]
push esi
lea edx, [ebp - 0x224]
xor eax, eax
xor ecx, ecx
push 0x104
push edx
mov word [ebp - 0x1c], ax
mov word [ebp - 0x224], cx
call fcn.004041b0
add esp, 0xc
test al, al
je 0x403bdc
push 0x4014a8
lea eax, [ebp - 0x224]
push 0x104
push eax
call fcn.00404200
add esp, 0xc
test al, al
je 0x403bdc
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x20]
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_EnumResourceNamesW]
push edi
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x14], ecx
lea ecx, [ebp - 0x18]
push ecx
push 0x403750
mov dword [ebp - 0x18], esi
mov esi, dword [ebp + 0x18]
push 0x401590
push edi
mov dword [ebp - 0x10], esi
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], eax
call ebx
test eax, eax
je 0x403bd3
mov edx, dword [ebp + 0x14]
push 0x104
push edx
call fcn.00404180
add esp, 8
test eax, eax
je 0x403bd3
push 0x104
push esi
call fcn.00404180
add esp, 8
test eax, eax
jbe 0x403aae
mov edi, dword [ebp + 8]
push 0x410
lea edx, [ebp - 0xa48]
push edx
xor eax, eax
xor ecx, ecx
push edi
mov word [ebp - 0x228], ax
mov word [ebp - 0xa48], cx
mov bl, 1
call fcn.004035c0
add esp, 0xc
test al, al
je 0x403a3e
push 0x401510
lea ecx, [ebp - 0xa48]
call fcn.00403230
test al, al
je 0x403a3e
push 0x40165c
lea ecx, [ebp - 0xa48]
call fcn.00403230
test al, al
je 0x403a3e
push esi
lea ecx, [ebp - 0xa48]
call fcn.00403230
test al, al
je 0x403a3e
push 0x401658
lea ecx, [ebp - 0xa48]
call fcn.00403230
test al, al
je 0x403a3e
push 0x401538
lea ecx, [ebp - 0xa48]
call fcn.00403230
test al, al
je 0x403a3e
push 0x40165c
lea ecx, [ebp - 0xa48]
call fcn.00403230
test al, al
je 0x403a3e
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0xa48]
call fcn.00403230
test al, al
je 0x403a3e
push 0x401658
lea ecx, [ebp - 0xa48]
call fcn.00403230
test al, al
jne 0x403a40
xor bl, bl
lea ecx, [ebp - 0xa48]
push ecx
push edi
call fcn.004036a0
add esp, 8
mov dword [ebp - 4], 0
test bl, bl
je 0x403a7c
lea edx, [ebp - 4]
push edx
lea eax, [ebp - 0xa48]
push eax
push 0
call fcn.004030e0
add esp, 0xc
test al, al
je 0x403a7a
cmp dword [ebp - 4], 0
je 0x403a87
xor bl, bl
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test bl, bl
je 0x403aa5
lea ecx, [ebp - 0x224]
push ecx
mov ecx, esi
call fcn.004031f0
test al, al
je 0x403aa5
pop edi
pop ebx
mov eax, 1
pop esi
mov esp, ebp
pop ebp
ret
pop edi
pop ebx
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret
lea edx, [ebp - 0x18]
push edx
push 0x403750
push 0x401588
push edi
call ebx
test eax, eax
jne 0x403ad4
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x715
jne 0x403bd3
push 0x104
push esi
call fcn.00404180
add esp, 8
test eax, eax
jbe 0x403b2b
lea eax, [ebp - 0x224]
push eax
push esi
call fcn.00402e80
mov edi, dword [sym.imp.KERNEL32.dll_DeleteFileW]
add esp, 8
push esi
mov bl, al
call edi
test bl, bl
je 0x403b22
lea ecx, [ebp - 0x224]
push ecx
mov ecx, esi
call fcn.004031f0
test al, al
jne 0x403b22
lea edx, [ebp - 0x224]
push edx
call edi
xor bl, bl
pop edi
mov al, bl
pop ebx
pop esi
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x18]
push eax
push 0x403750
push 0x401580
push edi
call ebx
test eax, eax
jne 0x403b51
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x715
jne 0x403bd3
push 0x104
push esi
call fcn.00404180
add esp, 8
test eax, eax
jbe 0x403bb6
lea ecx, [ebp - 0x224]
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x403bb6
push 3
lea edx, [ebp - 0x224]
push edx
push esi
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
test eax, eax
jne 0x403b97
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
xor eax, eax
mov word [esi], ax
jmp 0x403bb6
lea ecx, [ebp - 0x224]
push ecx
mov ecx, esi
call fcn.004031f0
test al, al
jne 0x403bb6
lea edx, [ebp - 0x224]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push 0x104
push esi
call fcn.00404180
add esp, 8
xor ecx, ecx
cmp ecx, eax
pop edi
sbb eax, eax
pop ebx
neg eax
pop esi
mov esp, ebp
pop ebp
ret
pop edi
pop ebx
xor al, al
pop esi
mov esp, ebp
pop ebp
ret
xor al, al
pop esi
mov esp, ebp
pop ebp
ret