Function at 0x10018bb0
Capabilities:
Delete directory

Disassembly:
sub esp, 0xc
push esi
push 0xc
call sub.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_
mov esi, eax
add esp, 4
test esi, esi
je 0x10018c5f
push edi
lea edi, [esi + 8]
push str.SunJavaDeployment
mov dword [esi + 4], 0
mov dword [edi], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [esi], eax
test eax, eax
jne 0x10018bf4
push 0x8007000e
call fcn.10030ab0
mov eax, dword [esp + 0x18]
push ebx
mov ebx, dword [sym.imp.kernel32.dll_InterlockedIncrement]
mov dword [esp + 0x14], esi
push ebp
mov dword [esp + 0x10], eax
test eax, eax
je 0x10018c12
add eax, 8
push eax
call ebx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x14]
call fcn.10004760
mov ebp, dword [sym.imp.kernel32.dll_InterlockedDecrement]
push edi
call ebp
test eax, eax
jne 0x10018c53
mov eax, dword [esi]
test eax, eax
je 0x10018c3a
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esi + 4]
test eax, eax
je 0x10018c4a
push eax
call sub.MSVCR100.dll_void___cdecl_operator_delete___void__
add esp, 4
push esi
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
mov esi, dword [esp + 0x10]
test esi, esi
je 0x10018c69
mov eax, dword [esi]
jmp 0x10018c6b
push 0x8007000e
call fcn.10030ab0
xor eax, eax
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryEmptyW]
test eax, eax
je 0x10018e07
test esi, esi
je 0x10018c82
mov esi, dword [esi]
jmp 0x10018c84
xor esi, esi
mov edi, dword [sym.imp.kernel32.dll_RemoveDirectoryW]
push esi
call edi
push str.SunJava
lea ecx, [esp + 0x1c]
call fcn.10002e00
mov eax, dword [esp + 0x20]
mov dword [esp + 0x14], eax
test eax, eax
je 0x10018cad
add eax, 8
push eax
call ebx
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x18]
call fcn.10004760
lea edx, [esp + 0x14]
push edx
lea ecx, [esp + 0x14]
call fcn.10015ca0
mov esi, dword [esp + 0x14]
test esi, esi
je 0x10018d01
lea eax, [esi + 8]
push eax
call ebp
test eax, eax
jne 0x10018d01
mov eax, dword [esi]
test eax, eax
je 0x10018ce8
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esi + 4]
test eax, eax
je 0x10018cf8
push eax
call sub.MSVCR100.dll_void___cdecl_operator_delete___void__
add esp, 4
push esi
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
mov esi, dword [esp + 0x18]
test esi, esi
je 0x10018d39
lea ecx, [esi + 8]
push ecx
call ebp
test eax, eax
jne 0x10018d39
mov eax, dword [esi]
test eax, eax
je 0x10018d20
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esi + 4]
test eax, eax
je 0x10018d30
push eax
call sub.MSVCR100.dll_void___cdecl_operator_delete___void__
add esp, 4
push esi
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
mov eax, dword [esp + 0x10]
test eax, eax
je 0x10018d45
mov eax, dword [eax]
jmp 0x10018d47
xor eax, eax
push eax
call edi
push str.Sun
lea ecx, [esp + 0x1c]
call fcn.10002e00
mov eax, dword [esp + 0x20]
mov dword [esp + 0x14], eax
test eax, eax
je 0x10018d6a
add eax, 8
push eax
call ebx
lea edx, [esp + 0x18]
push edx
lea ecx, [esp + 0x18]
call fcn.10004760
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x14]
call fcn.10015ca0
mov esi, dword [esp + 0x14]
test esi, esi
je 0x10018dbe
lea ecx, [esi + 8]
push ecx
call ebp
test eax, eax
jne 0x10018dbe
mov eax, dword [esi]
test eax, eax
je 0x10018da5
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esi + 4]
test eax, eax
je 0x10018db5
push eax
call sub.MSVCR100.dll_void___cdecl_operator_delete___void__
add esp, 4
push esi
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
mov esi, dword [esp + 0x18]
test esi, esi
je 0x10018df6
lea edx, [esi + 8]
push edx
call ebp
test eax, eax
jne 0x10018df6
mov eax, dword [esi]
test eax, eax
je 0x10018ddd
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esi + 4]
test eax, eax
je 0x10018ded
push eax
call sub.MSVCR100.dll_void___cdecl_operator_delete___void__
add esp, 4
push esi
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
mov esi, dword [esp + 0x10]
test esi, esi
je 0x10018e02
mov eax, dword [esi]
jmp 0x10018e04
xor eax, eax
push eax
call edi
test esi, esi
je 0x10018e3b
lea eax, [esi + 8]
push eax
call ebp
test eax, eax
jne 0x10018e3b
mov eax, dword [esi]
test eax, eax
je 0x10018e22
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esi + 4]
test eax, eax
je 0x10018e32
push eax
call sub.MSVCR100.dll_void___cdecl_operator_delete___void__
add esp, 4
push esi
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
mov esi, dword [esp + 0x20]
test esi, esi
je 0x10018e77
lea ecx, [esi + 8]
push ecx
call ebp
test eax, eax
jne 0x10018e77
test esi, esi
je 0x10018e77
mov eax, dword [esi]
test eax, eax
je 0x10018e5e
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esi + 4]
test eax, eax
je 0x10018e6e
push eax
call sub.MSVCR100.dll_void___cdecl_operator_delete___void__
add esp, 4
push esi
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
pop ebp
pop ebx
pop edi
pop esi
add esp, 0xc
ret