Function at 0x102ca13
Capabilities:
Delete directory

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xac8
mov eax, dword [0x103f058]
xor eax, ebp
mov dword [ebp - 4], eax
push edi
xor edi, edi
mov dword [ebp - 0xac4], edi
mov dword [ebp - 0xab0], edi
mov dword [ebp - 0xab8], edi
call fcn.0103133c
test eax, eax
je 0x102ca51
mov dword [ebp - 0xac8], edi
cmp dword [ebp + 8], edi
je 0x102ca5b
mov dword [ebp - 0xac8], 1
mov dword [ebp - 0xaa8], edi
call fcn.0102eb23
cmp eax, 6
jne 0x102ca7e
call fcn.0102d126
test eax, eax
je 0x102ca7e
mov dword [ebp - 0xab8], 1
push edi
push edi
push edi
push 6
call fcn.0102fffb
test eax, eax
je 0x102ca99
call fcn.0103baf0
test eax, eax
jne 0x102cf98
push esi
push edi
call dword [sym.imp.ole32.dll_CoInitialize]
push 0x1002e20
mov esi, 0x208
push esi
lea eax, [ebp - 0x28c]
push eax
call fcn.01027ea2
test eax, eax
jl 0x102cf91
push 0x1005018
push esi
lea eax, [ebp - 0xaa4]
push eax
call fcn.01027ea2
test eax, eax
jl 0x102cf91
push 0x9b
push 0x1004fc0
lea eax, [ebp - 0x89c]
push 0x200
push eax
call fcn.01027f9f
add esp, 0x10
test eax, eax
jl 0x102cf91
push 0x1004d24
push 0x80
lea eax, [ebp - 0x84]
push eax
call fcn.01027ea2
test eax, eax
jl 0x102cf91
push ebx
push esi
call sub.msvcrt.dll_void____cdecl_operator_new___unsigned_int_
mov ebx, eax
pop ecx
mov dword [ebp - 0xac0], ebx
cmp ebx, edi
je 0x102cb56
lea eax, [ebp - 0xaa8]
push eax
push ebx
mov dword [ebp - 0xaa8], esi
call fcn.0102d396
test eax, eax
jne 0x102cb56
push ebx
call sub.msvcrt.dll_void___cdecl_operator_delete___void__
pop ecx
mov dword [ebp - 0xac0], edi
cmp dword [ebp - 0xab8], edi
jne 0x102cbd7
push esi
call sub.msvcrt.dll_void____cdecl_operator_new___unsigned_int_
mov ebx, eax
pop ecx
mov dword [ebp - 0xac4], ebx
cmp ebx, edi
je 0x102cb96
lea eax, [ebp - 0xaa8]
push eax
push ebx
push edi
mov dword [ebp - 0xaa8], esi
call fcn.0102d2ab
test eax, eax
jne 0x102cb96
push ebx
call sub.msvcrt.dll_void___cdecl_operator_delete___void__
pop ecx
mov dword [ebp - 0xac4], edi
push esi
call sub.msvcrt.dll_void____cdecl_operator_new___unsigned_int_
pop ecx
mov dword [ebp - 0xab0], eax
cmp eax, edi
je 0x102cbd7
lea eax, [ebp - 0xaa8]
push eax
push dword [ebp - 0xab0]
mov dword [ebp - 0xaa8], esi
push 1
call fcn.0102d2ab
test eax, eax
jne 0x102cbd7
push dword [ebp - 0xab0]
call sub.msvcrt.dll_void___cdecl_operator_delete___void__
pop ecx
mov dword [ebp - 0xab0], edi
push esi
call sub.msvcrt.dll_void____cdecl_operator_new___unsigned_int_
pop ecx
mov dword [ebp - 0xab4], eax
mov ebx, 0x104
cmp eax, edi
je 0x102cc26
lea ecx, [ebp - 0xaa8]
push ecx
push eax
push edi
mov dword [ebp - 0xaa8], ebx
call fcn.0102d6ef
test eax, eax
je 0x102cc14
push dword [ebp - 0xab4]
call fcn.0102fe6a
test eax, eax
jne 0x102cc26
push dword [ebp - 0xab4]
call sub.msvcrt.dll_void___cdecl_operator_delete___void__
pop ecx
mov dword [ebp - 0xab4], edi
push esi
call sub.msvcrt.dll_void____cdecl_operator_new___unsigned_int_
pop ecx
mov dword [ebp - 0xabc], eax
cmp eax, edi
je 0x102cc71
lea ecx, [ebp - 0xaa8]
push ecx
push eax
push 1
mov dword [ebp - 0xaa8], ebx
call fcn.0102d6ef
test eax, eax
je 0x102cc5f
push dword [ebp - 0xabc]
call fcn.0102fe6a
test eax, eax
jne 0x102cc71
push dword [ebp - 0xabc]
call sub.msvcrt.dll_void___cdecl_operator_delete___void__
pop ecx
mov dword [ebp - 0xabc], edi
push esi
call sub.msvcrt.dll_void____cdecl_operator_new___unsigned_int_
pop ecx
mov dword [ebp - 0xaac], eax
cmp eax, edi
je 0x102ccbb
push edi
lea ecx, [ebp - 0xaa8]
push ecx
push eax
mov dword [ebp - 0xaa8], ebx
call fcn.0102d913
test eax, eax
je 0x102cca9
push dword [ebp - 0xaac]
call fcn.0102fe6a
test eax, eax
jne 0x102ccbb
push dword [ebp - 0xaac]
call sub.msvcrt.dll_void___cdecl_operator_delete___void__
pop ecx
mov dword [ebp - 0xaac], edi
push edi
push dword [ebp - 0xaac]
call fcn.0102bc9b
cmp dword [ebp - 0xab8], edi
jne 0x102ccef
push edi
push dword [ebp - 0xac4]
call fcn.0102bc9b
cmp dword [ebp - 0xac8], edi
jne 0x102ccef
push edi
push dword [ebp - 0xab0]
call fcn.0102bc9b
push edi
push dword [ebp - 0xabc]
call fcn.0102bc9b
call fcn.0102c2a7
cmp dword [ebp - 0xabc], edi
je 0x102cd14
push dword [ebp - 0xabc]
call sub.msvcrt.dll_void___cdecl_operator_delete___void__
pop ecx
cmp dword [ebp - 0xac4], edi
je 0x102cd28
push dword [ebp - 0xac4]
call sub.msvcrt.dll_void___cdecl_operator_delete___void__
pop ecx
cmp dword [ebp - 0xab8], edi
jne 0x102cd3b
push dword [ebp - 0xab0]
call fcn.0102e61a
push dword [ebp - 0xaac]
call fcn.0102e61a
push dword [ebp - 0xab4]
call fcn.0102e61a
cmp dword [ebp - 0xab8], edi
jne 0x102cd65
cmp dword [ebp - 0xac8], edi
je 0x102cf34
push 0x1004f70
push esi
lea eax, [ebp - 0x69c]
push eax
call fcn.01027ea2
lea eax, [ebp - 0x28c]
push eax
call fcn.0102c53c
push 0x1002f08
push esi
lea eax, [ebp - 0x494]
push eax
call fcn.01027ea2
mov esi, dword [sym.imp.SHELL32.dll_SHChangeNotify]
mov ebx, 0x1000
cmp dword [ebp - 0xab4], edi
je 0x102ce2e
push edi
push 0x1003534
call fcn.0102f07a
test eax, eax
je 0x102ce12
call fcn.0102c8f9
lea eax, [ebp - 0xaa4]
push eax
push 4
push edi
push edi
lea eax, [ebp - 0x28c]
push eax
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x89c]
push eax
lea eax, [ebp - 0x69c]
push eax
lea eax, [ebp - 0x494]
push eax
push dword [ebp - 0xab4]
lea eax, [ebp - 0x28c]
push eax
call fcn.0102c64b
test eax, eax
jl 0x102ce2e
push edi
push dword [ebp - 0xab4]
push 5
push ebx
call esi
jmp 0x102ce2e
push 1
push 0x1003534
call fcn.0102f07a
test eax, eax
jne 0x102ce2e
push edi
push dword [ebp - 0xab4]
call fcn.0102bc9b
cmp dword [ebp - 0xac0], edi
je 0x102ce51
push edi
push 0x100350c
call fcn.0102f07a
test eax, eax
jne 0x102ce51
push edi
push dword [ebp - 0xac0]
call fcn.0102bc9b
cmp dword [ebp - 0xab0], edi
je 0x102cf34
push 1
push 0x1004f3c
call fcn.0102f07a
test eax, eax
je 0x102cedb
cmp dword [ebp - 0xab8], edi
jne 0x102cf34
lea eax, [ebp - 0xaa4]
push eax
push 4
push edi
push edi
lea eax, [ebp - 0x28c]
push eax
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x89c]
push eax
lea eax, [ebp - 0x69c]
push eax
lea eax, [ebp - 0x494]
push eax
push dword [ebp - 0xab0]
lea eax, [ebp - 0x28c]
push eax
call fcn.0102c64b
cmp eax, edi
jl 0x102cec9
jmp 0x1048838
push eax
push 0x1004f00
push 2
call fcn.01039f55
add esp, 0xc
jmp 0x102cf34
cmp dword [ebp - 0xaac], edi
je 0x102cf34
lea eax, [ebp - 0xaa4]
push eax
push 4
push edi
push edi
lea eax, [ebp - 0x28c]
push eax
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x89c]
push eax
lea eax, [ebp - 0x69c]
push eax
lea eax, [ebp - 0x494]
push eax
push dword [ebp - 0xaac]
lea eax, [ebp - 0x28c]
push eax
call fcn.0102c64b
test eax, eax
jl 0x102cf34
push edi
push dword [ebp - 0xaac]
push 5
push 0x10
call esi
pop ebx
cmp dword [ebp - 0xab4], edi
je 0x102cf49
push dword [ebp - 0xab4]
call sub.msvcrt.dll_void___cdecl_operator_delete___void__
pop ecx
cmp dword [ebp - 0xaac], edi
je 0x102cf69
push dword [ebp - 0xaac]
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
push dword [ebp - 0xaac]
call sub.msvcrt.dll_void___cdecl_operator_delete___void__
pop ecx
cmp dword [ebp - 0xac0], edi
je 0x102cf7d
push dword [ebp - 0xac0]
call sub.msvcrt.dll_void___cdecl_operator_delete___void__
pop ecx
cmp dword [ebp - 0xab0], edi
je 0x102cf91
push dword [ebp - 0xab0]
call sub.msvcrt.dll_void___cdecl_operator_delete___void__
pop ecx
call dword [sym.imp.ole32.dll_CoUninitialize]
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop edi
call fcn.0102df7d
leave
ret 4