Function at 0x107f35a
Capabilities:
Delete directory

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
mov eax, dword [0x111124c]
mov ebx, 0x1007760
cmp eax, 0x111124c
je 0x107f38e
test byte [eax + 0x1c], 1
je 0x107f38e
cmp byte [eax + 0x19], 5
jb 0x107f38e
push ebx
push 0xa
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010189d0
push esi
push edi
xor edi, edi
cmp dword [ebp + 8], edi
jne 0x107f3ab
push 0x10075c0
push 0xea
push 0x1007770
call fcn.0107b4be
mov esi, dword [ebp + 0xc]
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], edi
mov byte [ebp - 1], 0
cmp esi, edi
je 0x107f3c1
mov eax, dword [esi]
mov dword [ebp - 0xc], eax
mov edi, dword [ebp + 0x10]
test edi, edi
je 0x107f3cb
mov byte [edi], 0
lea eax, [ebp - 8]
push eax
push dword [ebp + 8]
call fcn.0107eb70
mov dword [ebp + 8], eax
test eax, eax
jl 0x107f595
test esi, esi
je 0x107f3eb
test byte [esi], 7
je 0x107f443
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 8]
call fcn.0107e78e
mov dword [ebp + 8], eax
test eax, eax
jge 0x107f43f
test edi, edi
je 0x107f405
mov byte [edi], 1
mov ecx, dword [0x111124c]
cmp ecx, 0x111124c
je 0x107f529
test byte [ecx + 0x1c], 1
je 0x107f529
cmp byte [ecx + 0x19], 2
jb 0x107f529
push eax
push ebx
push 0xb
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.010189f6
jmp 0x107f523
mov byte [ebp - 1], 1
test byte [ebp - 0xc], 0x10
je 0x107f4bb
test dword [ebp - 0xc], 0x400
jne 0x107f4bb
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
jne 0x107f523
test edi, edi
je 0x107f46a
mov byte [edi], 1
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x107f47e
and eax, 0xffff
or eax, 0x80070000
mov dword [ebp + 8], eax
mov ecx, dword [0x111124c]
cmp ecx, 0x111124c
je 0x107f529
test byte [ecx + 0x1c], 1
je 0x107f529
cmp byte [ecx + 0x19], 2
jb 0x107f529
push eax
push dword [ebp - 8]
push ebx
push 0xc
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.010196ed
jmp 0x107f523
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 0x107f51c
test edi, edi
je 0x107f4e2
mov byte [edi], 1
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x107f4f6
and eax, 0xffff
or eax, 0x80070000
mov dword [ebp + 8], eax
mov ecx, dword [0x111124c]
cmp ecx, 0x111124c
je 0x107f529
test byte [ecx + 0x1c], 1
je 0x107f529
cmp byte [ecx + 0x19], 2
jb 0x107f529
push eax
push ebx
push 0xd
jmp 0x107f42f
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x111124c]
cmp dword [ebp + 8], 0
jge 0x107f59b
cmp byte [ebp - 1], 0
je 0x107f59b
mov esi, 0x111124c
cmp ecx, esi
je 0x107f55e
test byte [ecx + 0x1c], 1
je 0x107f55e
cmp byte [ecx + 0x19], 4
jb 0x107f55e
push dword [ebp - 0xc]
push dword [ebp - 8]
push ebx
push 0xe
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.010196ed
push dword [ebp - 0xc]
push dword [ebp - 8]
call fcn.0107e641
test eax, eax
jge 0x107f595
mov ecx, dword [0x111124c]
cmp ecx, esi
je 0x107f59b
test byte [ecx + 0x1c], 1
je 0x107f59b
cmp byte [ecx + 0x19], 2
jb 0x107f59b
push eax
push dword [ebp - 8]
push ebx
push 0xf
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.010196ed
mov ecx, dword [0x111124c]
cmp dword [ebp - 8], 0
pop edi
pop esi
je 0x107f5b2
push dword [ebp - 8]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
mov ecx, dword [0x111124c]
cmp ecx, 0x111124c
je 0x107f5d4
test byte [ecx + 0x1c], 1
je 0x107f5d4
cmp byte [ecx + 0x19], 5
jb 0x107f5d4
push ebx
push 0x10
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.010189d0
mov eax, dword [ebp + 8]
pop ebx
leave
ret 0xc