Function at 0x417928
Capabilities:
Delete directory
Delete file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffe84
push ebx
push esi
xor ebx, ebx
mov dword [ebp - 0x17c], ebx
mov dword [ebp - 0x178], ebx
mov dword [ebp - 0x174], ebx
mov dword [ebp - 0x170], ebx
mov dword [ebp - 0x16c], ebx
mov dword [ebp - 0x168], ebx
mov dword [ebp - 0x164], ebx
mov esi, ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov ebx, dword [ebp + 8]
mov eax, dword [ebp - 4]
call fcn.004038d8
mov eax, dword [ebp - 8]
call fcn.004038d8
lea eax, [ebp - 0x160]
mov edx, dword [0x4061d4]
call fcn.00403af0
xor eax, eax
push ebp
push 0x417bcb
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
call fcn.00403724
mov edx, dword [ebp - 4]
cmp byte [edx + eax - 1], 0x5c
je 0x4179b8
lea eax, [ebp - 4]
mov edx, 0x417be4
call fcn.0040372c
lea eax, [ebp - 0x164]
mov ecx, 0x417bf0
mov edx, dword [ebp - 4]
call fcn.00403770
mov eax, dword [ebp - 0x164]
lea ecx, [ebp - 0x160]
mov edx, 0x3f
call fcn.00407244
test eax, eax
jne 0x417a7a
mov eax, dword [ebp - 0x154]
mov edx, 0x417bfc
call fcn.00403834
je 0x417a67
mov eax, dword [ebp - 0x154]
mov edx, 0x417c08
call fcn.00403834
je 0x417a67
test dword [ebp - 0x158], 0x10
jle 0x417a67
push ebx
lea eax, [ebp - 0x168]
mov ecx, dword [ebp - 0x154]
mov edx, dword [ebp - 4]
call fcn.00403770
mov eax, dword [ebp - 0x168]
mov ecx, esi
mov edx, dword [ebp - 8]
call fcn.00417928
test bl, bl
je 0x417a67
lea eax, [ebp - 0x16c]
mov ecx, dword [ebp - 0x154]
mov edx, dword [ebp - 4]
call fcn.00403770
mov eax, dword [ebp - 0x16c]
call fcn.004038e8
push eax
call sub.kernel32.dll_RemoveDirectoryA
lea eax, [ebp - 0x160]
call fcn.00407294
test eax, eax
je 0x4179e9
lea eax, [ebp - 0x160]
call fcn.004072b8
mov eax, dword [ebp - 4]
call fcn.00403724
mov edx, dword [ebp - 4]
cmp byte [edx + eax - 1], 0x5c
je 0x417aa4
lea eax, [ebp - 4]
mov edx, 0x417be4
call fcn.0040372c
lea eax, [ebp - 0x170]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 4]
call fcn.00403770
mov eax, dword [ebp - 0x170]
lea ecx, [ebp - 0x160]
mov edx, 0x2f
call fcn.00407244
test eax, eax
jne 0x417b84
mov eax, dword [ebp - 0x154]
mov edx, 0x417bfc
call fcn.00403834
je 0x417b71
mov eax, dword [ebp - 0x154]
mov edx, 0x417c08
call fcn.00403834
je 0x417b71
cmp dword [ebp - 0x154], 0
je 0x417b71
test bl, bl
je 0x417b50
lea eax, [ebp - 0x174]
mov ecx, dword [ebp - 0x154]
mov edx, dword [ebp - 4]
call fcn.00403770
mov eax, dword [ebp - 0x174]
xor edx, edx
call fcn.004071b8
lea eax, [ebp - 0x178]
mov ecx, dword [ebp - 0x154]
mov edx, dword [ebp - 4]
call fcn.00403770
mov eax, dword [ebp - 0x178]
call fcn.004038e8
push eax
call sub.kernel32.dll_DeleteFileA
jmp 0x417b71
lea eax, [ebp - 0x17c]
mov ecx, dword [ebp - 0x154]
mov edx, dword [ebp - 4]
call fcn.00403770
mov edx, dword [ebp - 0x17c]
mov eax, dword [esi]
mov ecx, dword [eax]
call dword [ecx + 0x34]
lea eax, [ebp - 0x160]
call fcn.00407294
test eax, eax
je 0x417ad3
lea eax, [ebp - 0x160]
call fcn.004072b8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x417bd2
lea eax, [ebp - 0x17c]
mov edx, 7
call fcn.004034ec
lea eax, [ebp - 0x160]
mov edx, dword [0x4061d4]
call fcn.00403bbc
lea eax, [ebp - 8]
mov edx, 2
call fcn.004034ec
ret