Function at 0x107f40d
Capabilities:
Delete directory

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
mov eax, dword [0x111024c]
mov ebx, 0x1007770
cmp eax, 0x111024c
je 0x107f441
test byte [eax + 0x1c], 1
je 0x107f441
cmp byte [eax + 0x19], 5
jb 0x107f441
push ebx
push 0xa
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0101894a
push esi
push edi
xor edi, edi
cmp dword [ebp + 8], edi
jne 0x107f45e
push 0x10075d0
push 0xea
push 0x1007780
call fcn.0107b644
mov esi, dword [ebp + 0xc]
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], edi
mov byte [ebp - 1], 0
cmp esi, edi
je 0x107f474
mov eax, dword [esi]
mov dword [ebp - 0xc], eax
mov edi, dword [ebp + 0x10]
test edi, edi
je 0x107f47e
mov byte [edi], 0
lea eax, [ebp - 8]
push eax
push dword [ebp + 8]
call fcn.0107ec22
mov dword [ebp + 8], eax
test eax, eax
jl 0x107f648
test esi, esi
je 0x107f49e
test byte [esi], 7
je 0x107f4f6
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 8]
call fcn.0107e840
mov dword [ebp + 8], eax
test eax, eax
jge 0x107f4f2
test edi, edi
je 0x107f4b8
mov byte [edi], 1
mov ecx, dword [0x111024c]
cmp ecx, 0x111024c
je 0x107f5dc
test byte [ecx + 0x1c], 1
je 0x107f5dc
cmp byte [ecx + 0x19], 2
jb 0x107f5dc
push eax
push ebx
push 0xb
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.01019fa8
jmp 0x107f5d6
mov byte [ebp - 1], 1
test byte [ebp - 0xc], 0x10
je 0x107f56e
test dword [ebp - 0xc], 0x400
jne 0x107f56e
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
jne 0x107f5d6
test edi, edi
je 0x107f51d
mov byte [edi], 1
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x107f531
and eax, 0xffff
or eax, 0x80070000
mov dword [ebp + 8], eax
mov ecx, dword [0x111024c]
cmp ecx, 0x111024c
je 0x107f5dc
test byte [ecx + 0x1c], 1
je 0x107f5dc
cmp byte [ecx + 0x19], 2
jb 0x107f5dc
push eax
push dword [ebp - 8]
push ebx
push 0xc
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.01048c37
jmp 0x107f5d6
push 0
push 0x6200000
push 3
push 0
push 7
push 0x10000
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
cmp eax, 0xffffffff
jne 0x107f5cf
test edi, edi
je 0x107f595
mov byte [edi], 1
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x107f5a9
and eax, 0xffff
or eax, 0x80070000
mov dword [ebp + 8], eax
mov ecx, dword [0x111024c]
cmp ecx, 0x111024c
je 0x107f5dc
test byte [ecx + 0x1c], 1
je 0x107f5dc
cmp byte [ecx + 0x19], 2
jb 0x107f5dc
push eax
push ebx
push 0xd
jmp 0x107f4e2
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x111024c]
cmp dword [ebp + 8], 0
jge 0x107f64e
cmp byte [ebp - 1], 0
je 0x107f64e
mov esi, 0x111024c
cmp ecx, esi
je 0x107f611
test byte [ecx + 0x1c], 1
je 0x107f611
cmp byte [ecx + 0x19], 4
jb 0x107f611
push dword [ebp - 0xc]
push dword [ebp - 8]
push ebx
push 0xe
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.01048c37
push dword [ebp - 0xc]
push dword [ebp - 8]
call fcn.0107e6f3
test eax, eax
jge 0x107f648
mov ecx, dword [0x111024c]
cmp ecx, esi
je 0x107f64e
test byte [ecx + 0x1c], 1
je 0x107f64e
cmp byte [ecx + 0x19], 2
jb 0x107f64e
push eax
push dword [ebp - 8]
push ebx
push 0xf
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.01048c37
mov ecx, dword [0x111024c]
cmp dword [ebp - 8], 0
pop edi
pop esi
je 0x107f665
push dword [ebp - 8]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
mov ecx, dword [0x111024c]
cmp ecx, 0x111024c
je 0x107f687
test byte [ecx + 0x1c], 1
je 0x107f687
cmp byte [ecx + 0x19], 5
jb 0x107f687
push ebx
push 0x10
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.0101894a
mov eax, dword [ebp + 8]
pop ebx
leave
ret 0xc