Function at 0x485269
Capabilities:
Delete file

Disassembly:
push ebp
lea ebp, [esp - 0x44]
sub esp, 0x44
push 0xffffffffffffffff
push 0x540f72
mov eax, dword fs:[0]
push eax
sub esp, 0x9c
mov eax, dword [0x595c60]
xor eax, ebp
mov dword [ebp + 0x40], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 4], 0
cmp dword [ebp + 0x5c], 0
jne 0x4850d3
cmp dword [ebp + 0x60], 8
jb 0x4850c9
mov eax, dword [ebp + 0x4c]
test eax, eax
je 0x4850c9
push eax
call fcn.005074d4
add esp, 4
mov eax, 0x57
jmp 0x485464
push 0x1000
call fcn.00507c0d
mov esi, eax
add esp, 4
mov dword [ebp + 0x20], esi
mov byte [ebp - 4], 1
test esi, esi
jne 0x485256
mov eax, dword [0x59e598]
test al, 1
jne 0x48511c
or eax, 1
mov dword [0x59e598], eax
mov byte [ebp - 4], 2
call fcn.004a08c0
push 0x54e860
call fcn.0050765d
add esp, 4
mov byte [ebp - 4], 1
mov eax, dword [0x596f88]
test byte [eax + 0x1c], 2
je 0x485131
cmp byte [eax + 0x19], 6
jb 0x485131
mov al, 1
jmp 0x485133
xor al, al
cmp byte [0x59e5a8], 0
jne 0x48514d
cmp byte [0x59e5a9], 0
jne 0x48514d
test al, al
je 0x485230
sub esp, 8
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xa8]
call fcn.0047b550
lea ecx, [ebp + 0x28]
mov byte [ebp - 4], 4
call fcn.004a0cb0
mov edx, eax
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xa8]
call fcn.0047eed0
mov edx, str..DirectoryOperation.cpp
mov ecx, eax
call fcn.0047f130
mov edx, 0x56a378
mov ecx, eax
call fcn.0047f130
push 0x67
mov ecx, eax
call fcn.0047b1b0
mov edx, 0x56a378
mov ecx, eax
call fcn.0047f130
mov edx, str.Failed_to_DeleteDirectoryContents_not_enough_memory.
mov ecx, eax
call fcn.0047f130
mov byte [ebp - 4], 4
cmp dword [ebp + 0x3c], 0x10
jb 0x4851cf
mov eax, dword [ebp + 0x28]
test eax, eax
je 0x4851cf
push eax
call fcn.005074d4
add esp, 4
lea eax, [ebp + 0x28]
push eax
lea ecx, [ebp - 0xa8]
call fcn.0047b6a0
mov esi, eax
mov byte [ebp - 4], 6
cmp dword [esi + 0x14], 0x10
jb 0x4851ec
mov esi, dword [esi]
call fcn.004a0950
push esi
push 6
mov ecx, eax
call fcn.004a0b40
cmp dword [ebp + 0x3c], 0x10
jb 0x485211
mov eax, dword [ebp + 0x28]
test eax, eax
je 0x485211
push eax
call fcn.005074d4
add esp, 4
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 3
call fcn.0047b620
lea eax, [ebp - 0x58]
mov dword [ebp - 0x58], 0x56a6f8
push eax
call fcn.0052889f
add esp, 4
cmp dword [ebp + 0x60], 8
jb 0x485246
mov eax, dword [ebp + 0x4c]
test eax, eax
je 0x485246
push eax
call fcn.005074d4
add esp, 4
mov eax, 8
jmp 0x485464
push 0x1000
push 0
push esi
call fcn.0050be90
add esp, 0xc
lea ecx, [ebp + 0x4c]
push 4
push str..
call fcn.00482560
cmp dword [ebp + 0x60], 8
mov eax, dword [ebp + 0x4c]
jae 0x485281
lea eax, [ebp + 0x4c]
push eax
push 0x800
push esi
call fcn.00507d20
xor eax, eax
add esp, 0xc
mov dword [ebp + 4], eax
xor edi, edi
mov dword [ebp + 8], eax
mov dword [ebp + 0x10], eax
mov dword [ebp], eax
mov dword [ebp + 0xc], eax
mov dword [ebp + 0x14], eax
mov dword [ebp + 0x18], eax
mov word [ebp + 0x1c], ax
mov eax, 0x614
mov word [ebp + 0x10], ax
lea eax, [ebp]
push eax
mov dword [ebp + 4], 3
mov dword [ebp + 8], esi
mov dword [ebp + 0x24], edi
call dword [sym.imp.SHELL32.dll_SHFileOperationW]
test eax, eax
je 0x4852d9
mov edi, 0x10
mov dword [ebp + 0x24], edi
mov eax, dword [0x59e598]
test al, 1
jne 0x485304
or eax, 1
mov dword [0x59e598], eax
mov byte [ebp - 4], 8
call fcn.004a08c0
push 0x54e860
call fcn.0050765d
add esp, 4
mov byte [ebp - 4], 1
mov eax, dword [0x596f88]
test byte [eax + 0x1c], 2
je 0x485319
cmp byte [eax + 0x19], 6
jb 0x485319
mov al, 1
jmp 0x48531b
xor al, al
cmp byte [0x59e5a8], 0
jne 0x485335
cmp byte [0x59e5a9], 0
jne 0x485335
test al, al
je 0x485443
sub esp, 8
mov byte [ebp - 4], 9
lea ecx, [ebp - 0xa8]
call fcn.0047b550
lea ecx, [ebp + 0x28]
mov byte [ebp - 4], 0xa
call fcn.004a0cb0
mov edx, eax
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0xa8]
call fcn.0047eed0
mov edx, str..DirectoryOperation.cpp
mov ecx, eax
call fcn.0047f130
mov edx, 0x56a378
mov ecx, eax
call fcn.0047f130
push 0x78
mov ecx, eax
call fcn.0047b1b0
mov edx, 0x56a378
mov ecx, eax
call fcn.0047f130
mov edx, str.DeleteDirectoryContents_
mov ecx, eax
call fcn.0047f130
mov edx, esi
mov ecx, eax
call fcn.004a0e50
mov edx, str.____returned
mov ecx, eax
call fcn.0047f130
push edi
mov ecx, eax
call fcn.0047b350
mov byte [ebp - 4], 0xa
cmp dword [ebp + 0x3c], 0x10
jb 0x4853d4
mov eax, dword [ebp + 0x28]
test eax, eax
je 0x4853d4
push eax
call fcn.005074d4
add esp, 4
lea eax, [ebp + 0x28]
push eax
lea ecx, [ebp - 0xa8]
call fcn.0047b6a0
mov ebx, eax
mov byte [ebp - 4], 0xc
cmp dword [ebx + 0x14], 0x10
jb 0x4853f1
mov ebx, dword [ebx]
call fcn.004a0950
push ebx
push 6
mov ecx, eax
call fcn.004a0b40
cmp dword [ebp + 0x3c], 0x10
jb 0x485416
mov eax, dword [ebp + 0x28]
test eax, eax
je 0x485416
push eax
call fcn.005074d4
add esp, 4
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 9
call fcn.0047b620
lea eax, [ebp - 0x58]
mov dword [ebp - 0x58], 0x56a6f8
push eax
call fcn.0052889f
add esp, 4
jmp 0x485443
push esi
call fcn.005074d4
add esp, 4
cmp dword [ebp + 0x60], 8
jb 0x485462
mov eax, dword [ebp + 0x4c]
test eax, eax
je 0x485462
push eax
call fcn.005074d4
add esp, 4
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x40]
xor ecx, ebp
call fcn.00506c7d
lea esp, [ebp + 0x44]
pop ebp
ret 0x18