Function at 0x401700
Capabilities:
Delete file

Disassembly:
sub esp, 0x18
push ebp
push 0x4151e6
lea ecx, [esp + 8]
call fcn.00401110
lea eax, [esp + 4]
push eax
lea ecx, [esp + 0xc]
push ecx
call fcn.00404085
mov ecx, eax
call fcn.00403807
mov eax, dword [esp + 4]
xor ebp, ebp
cmp eax, ebp
je 0x40174c
dec dword [eax]
cmp dword [eax], ebp
jne 0x40174c
mov edx, dword [eax + 4]
sub edx, 4
sar edx, 4
inc edx
push edx
push eax
call fcn.00402d1b
add esp, 8
mov eax, dword [esp + 8]
cmp eax, ebp
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], ebp
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebp
je 0x401769
add eax, 0xc
jmp 0x40176e
mov eax, 0x4151e6
push ebp
push str..bin
push ebp
push eax
lea ecx, [esp + 0x1c]
call fcn.00403481
lea eax, [esp + 0xc]
push eax
lea ecx, [esp + 0x18]
call fcn.00401590
mov eax, dword [esp + 8]
cmp eax, ebp
je 0x40179a
add eax, 0xc
jmp 0x40179f
mov eax, 0x4151e6
push ebp
push str..ubc
push ebp
push eax
lea ecx, [esp + 0x1c]
call fcn.00403481
lea ecx, [esp + 0xc]
push ecx
lea ecx, [esp + 0x18]
call fcn.00401590
mov eax, dword [esp + 0x10]
cmp eax, ebp
jge 0x4017d4
neg eax
push eax
lea ecx, [esp + 0x10]
call fcn.004011d0
jmp 0x4017e0
jle 0x4017e0
push eax
lea ecx, [esp + 0x10]
call fcn.00401630
push ebx
push esi
push edi
mov edi, dword [esp + 0x24]
xor esi, esi
xor bl, bl
cmp edi, ebp
mov dword [esp + 0x10], esi
jle 0x401896
mov esi, dword [esp + 0x20]
mov ebp, dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, dword [esi]
test eax, eax
je 0x40180c
add eax, 0xc
jmp 0x401811
mov eax, 0x4151e6
push eax
call ebp
test eax, eax
lea ecx, [esp + 0x10]
je 0x401840
push str.Deleted:
call fcn.004014c0
push esi
lea ecx, [esp + 0x14]
call fcn.00401400
push 0x415220
lea ecx, [esp + 0x14]
call fcn.004014c0
jmp 0x401864
push str.Failed:
call fcn.004014c0
push esi
lea ecx, [esp + 0x14]
call fcn.00401400
push 0x415220
lea ecx, [esp + 0x14]
call fcn.004014c0
mov bl, 1
add esi, 4
dec edi
jne 0x401801
test bl, bl
je 0x4018d2
mov esi, dword [esp + 0x10]
test esi, esi
lea eax, [esi + 0xc]
jne 0x40187e
mov eax, 0x4151e6
push 0x10
push str.ClearUrsGSFCache
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov edi, dword [esp + 0x24]
xor ebp, ebp
jmp 0x4018f7
push str.No_cache_files_found.
lea ecx, [esp + 0x1c]
call fcn.00401110
push eax
lea ecx, [esp + 0x14]
call fcn.00401330
mov eax, dword [esp + 0x18]
cmp eax, ebp
je 0x4018d8
dec dword [eax]
cmp dword [eax], ebp
jne 0x4018d8
mov edx, dword [eax + 4]
sub edx, 4
sar edx, 4
inc edx
push edx
push eax
call fcn.00402d1b
add esp, 8
jmp 0x4018d8
mov edi, dword [esp + 0x24]
xor ebp, ebp
mov esi, dword [esp + 0x10]
cmp esi, ebp
lea eax, [esi + 0xc]
jne 0x4018e8
mov eax, 0x4151e6
push 0x40
push str.ClearUrsGSFCache
push eax
push ebp
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp esi, ebp
je 0x401913
dec dword [esi]
jne 0x401913
mov eax, dword [esi + 4]
sub eax, 4
sar eax, 4
inc eax
push eax
push esi
call fcn.00402d1b
add esp, 8
cmp edi, ebp
jge 0x401925
neg edi
push edi
lea ecx, [esp + 0x24]
call fcn.004011d0
jmp 0x401931
jle 0x401931
push edi
lea ecx, [esp + 0x24]
call fcn.00401630
mov eax, dword [esp + 0x14]
cmp eax, ebp
pop edi
pop esi
pop ebx
je 0x401956
dec dword [eax]
cmp dword [eax], ebp
jne 0x401956
mov ecx, dword [eax + 4]
sub ecx, 4
sar ecx, 4
inc ecx
push ecx
push eax
call fcn.00402d1b
add esp, 8
xor eax, eax
pop ebp
add esp, 0x18
ret 0x10