Function at 0x10022970
Capabilities:
Delete registry value

Disassembly:
mov eax, 0x6258
call fcn.1003baf0
mov eax, dword [0x100530a0]
xor eax, esp
mov dword [esp + 0x6254], eax
mov eax, dword [esp + 0x6260]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x6268]
push edi
push 0x1000
mov dword [esp + 0x34], eax
lea eax, [esp + 0x2268]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0x1000
lea eax, [esp + 0x274]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0x1000
lea eax, [esp + 0x1280]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
xor al, al
mov bl, 1
xor edi, edi
mov byte [esp + 0x44], bl
push esi
mov dword [esp + 0x40], eax
mov byte [esp + 0x50], al
mov dword [esp + 0x54], edi
call fcn.1002a3d0
add esp, 0x28
test eax, eax
je 0x10022a04
call fcn.10005720
jmp 0x10022a0d
mov edi, 2
mov dword [esp + 0x2c], edi
push 0x100415dc
push str.UnregisterDeploy__version__s
lea eax, [esp + 0x226c]
push 0x800
push eax
call fcn.10005d50
lea eax, [esp + 0x2274]
push eax
call fcn.10003ca0
push esi
call fcn.10017520
add esp, 0x18
cmp eax, 1
jne 0x10022a4b
call fcn.1002c170
jmp 0x10022a5e
push esi
call fcn.10017520
add esp, 4
cmp eax, 2
jne 0x10022a5e
call fcn.1002bf30
call fcn.10018cd0
test eax, eax
je 0x10022a6e
or edi, 1
mov dword [esp + 0x2c], edi
push edi
call fcn.1002c440
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
add esp, 4
mov ebp, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
test eax, eax
je 0x10022b35
push 0x2001f
push 0x10042150
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [esp + 0x40]
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
call fcn.10003a10
mov ebx, eax
test ebx, ebx
jne 0x10022ad1
push 0x100415dc
lea ecx, [esp + 0x38]
call fcn.10003850
mov ebx, eax
mov eax, dword [esp + 0x34]
test eax, eax
je 0x10022adc
push eax
call esi
push ecx
mov ebp, esp
push 0xc
call fcn.10031690
mov esi, eax
add esp, 4
test esi, esi
je 0x10022b15
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
push str.Delete_Java_Plugin_subkey_in_registry
mov dword [esi + 4], 0
mov dword [esi + 8], 1
call eax
mov dword [esi], eax
test eax, eax
je 0x10023a07
jmp 0x10022b17
xor esi, esi
mov dword [ebp], esi
test esi, esi
je 0x10023a07
push ebx
call fcn.10015220
mov bl, byte [esp + 0x28]
add esp, 8
mov ebp, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call fcn.10031690
test eax, eax
jne 0x10022bc9
push eax
push 1
lea eax, [esp + 0x26c]
push 0x800
push eax
call sym.deploy.dll_getLatestInstalledVersion
add esp, 0x10
test eax, eax
jne 0x10022b71
push str.getLatestInstalledVersion_FAIL
call fcn.10003ca0
add esp, 4
xor bl, bl
mov byte [esp + 0x20], bl
push 0
lea eax, [esp + 0x268]
push eax
lea eax, [esp + 0x126c]
push 0x800
push eax
call fcn.10029f50
add esp, 0x10
test eax, eax
jne 0x10022ba7
push str.getPluginHome_FAIL
call fcn.10003ca0
add esp, 4
xor bl, bl
mov byte [esp + 0x20], bl
push 0x1000
lea eax, [esp + 0x3268]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0
lea eax, [esp + 0x3274]
jmp 0x10022db8
push 0x1000
lea eax, [esp + 0x4268]
mov dword [esp + 0x20], 1
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0x1000
lea eax, [esp + 0x3274]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
lea eax, [esp + 0x34]
push eax
push 1
lea eax, [esp + 0x4284]
push 0x800
push eax
call sym.deploy.dll_getLatestInstalledVersion
mov esi, eax
mov dword [esp + 0x44], 0
lea eax, [esp + 0x44]
push eax
push 1
lea eax, [esp + 0x3294]
push 0x800
push eax
call sym.deploy.dll_getLatestInstalledVersion
add esp, 0x38
mov dword [esp + 0x1c], 1
test esi, esi
jne 0x10022cb7
test eax, eax
jne 0x10022c65
push str.UnregisterDeploy:_getLatestInstalledVersion_plugin__FAIL
call fcn.10003ca0
add esp, 4
xor bl, bl
call fcn.10005400
mov dword [esp + 0x1c], eax
jmp 0x10022d52
cmp eax, 1
jne 0x10022d52
lea eax, [esp + 0x3264]
push eax
lea eax, [esp + 0x268]
push 0x800
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
add esp, 0xc
call fcn.10005400
mov ecx, dword [esp + 0x18]
test eax, eax
movzx ecx, cl
mov edx, 1
cmovne ecx, edx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], ecx
mov byte [esp + 0x28], cl
jmp 0x10022d56
cmp esi, 1
jne 0x10022d52
test eax, eax
jne 0x10022cf7
lea eax, [esp + 0x4264]
push eax
lea eax, [esp + 0x268]
push 0x800
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
add esp, 0xc
call fcn.10005400
test eax, eax
jne 0x10022d52
mov ecx, esi
mov dword [esp + 0x18], ecx
mov byte [esp + 0x28], cl
jmp 0x10022d56
cmp eax, 1
jne 0x10022d52
xor al, al
mov dword [esp + 0x18], eax
mov byte [esp + 0x28], al
call fcn.10005400
test eax, eax
je 0x10022d2c
lea eax, [esp + 0x4264]
push eax
lea eax, [esp + 0x268]
push 0x800
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
jmp 0x10022d4f
lea eax, [esp + 0x3264]
push eax
lea eax, [esp + 0x268]
push 0x800
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
mov dword [esp + 0x28], 0
add esp, 0xc
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x1c]
xor cl, 1
push eax
lea eax, [esp + 0x268]
and bl, cl
push eax
lea eax, [esp + 0x126c]
mov byte [esp + 0x28], bl
push 0x800
push eax
call fcn.10029f50
add esp, 0x10
test eax, eax
jne 0x10022d98
push str.UnregisterDeploy:_getPluginHome_FAIL
call fcn.10003ca0
add esp, 4
xor bl, bl
mov byte [esp + 0x20], bl
push 0x1000
lea eax, [esp + 0x5268]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x5274]
push 0
push 0x800
push eax
call sym.deploy.dll_getLatestInstalledVersion
add esp, 0x1c
test eax, eax
jne 0x10022ddf
push str.UnregisterDeploy:_No_JRE_exists_on_system
call fcn.10003ca0
add esp, 4
xor bl, bl
mov byte [esp + 0x20], bl
push 0xc
call fcn.10031690
mov esi, eax
add esp, 4
test esi, esi
je 0x10022e13
lea eax, [esp + 0x1264]
mov dword [esi + 4], 0
push eax
mov dword [esi + 8], 1
call ebp
mov dword [esi], eax
test eax, eax
je 0x10023a07
jmp 0x10022e15
xor esi, esi
mov dword [esp + 0x1c], esi
test esi, esi
je 0x10023a07
push 0xc
call fcn.10031690
mov esi, eax
add esp, 4
test esi, esi
je 0x10022e52
push str._bin
mov dword [esi + 4], 0
mov dword [esi + 8], 1
call ebp
mov dword [esi], eax
test eax, eax
je 0x10023a07
jmp 0x10022e54
xor esi, esi
mov dword [esp + 0x14], esi
test esi, esi
je 0x10023a07
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x20]
call fcn.10003700
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x10022eae
mov eax, dword [esi]
test eax, eax
je 0x10022e8c
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x10022ea3
push eax
call fcn.1003b898
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.10031690
add esp, 8
mov esi, dword [esp + 0x1c]
test esi, esi
je 0x10022eba
mov eax, dword [esi]
jmp 0x10022ebc
xor eax, eax
push edi
lea edx, [esp + 0x268]
movzx ecx, bl
push edx
push eax
mov eax, dword [esp + 0x24]
movzx eax, al
push eax
push ecx
mov dword [esp + 0x28], ecx
call fcn.10024700
add esp, 0x10
mov ebp, eax
mov dword [esp + 0x28], esp
push 0xc
call fcn.10031690
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x10022f1a
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
push str.Unset_IE_plugin_registry_keys
mov dword [ebx + 4], 0
mov dword [ebx + 8], 1
call eax
mov dword [ebx], eax
test eax, eax
je 0x10023a07
jmp 0x10022f1c
xor ebx, ebx
mov eax, dword [esp + 0x28]
mov dword [eax], ebx
test ebx, ebx
je 0x10023a07
push ebp
call fcn.10015d80
xor eax, eax
add esp, 8
test ebp, ebp
setne al
mov dword [esp + 0x10], eax
test esi, esi
je 0x10022f46
mov eax, dword [esi]
jmp 0x10022f48
xor eax, eax
push edi
lea ecx, [esp + 0x268]
push ecx
push eax
push dword [esp + 0x20]
call fcn.100247c0
add esp, 0xc
mov ebp, eax
mov dword [esp + 0x28], esp
push 0xc
call fcn.10031690
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x10022f99
push str.Unset_Mozilla_plugin_registry_keys
mov dword [ebx + 4], 0
mov dword [ebx + 8], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebx], eax
test eax, eax
je 0x10023a07
jmp 0x10022f9b
xor ebx, ebx
mov eax, dword [esp + 0x28]
mov dword [eax], ebx
test ebx, ebx
je 0x10023a07
push ebp
call fcn.10015d80
add esp, 8
cmp dword [esp + 0x10], 0
je 0x10022fc4
test ebp, ebp
je 0x10022fc4
mov ebp, 1
jmp 0x10022fc6
xor ebp, ebp
push edi
lea eax, [esp + 0x1268]
push eax
push dword [esp + 0x28]
push dword [esp + 0x3c]
call fcn.10023a20
add esp, 0xc
mov dword [esp + 0x28], eax
mov dword [esp + 0x14], esp
push 0xc
call fcn.10031690
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x1002301c
push str.Unregister_Java_Control_Panel
mov dword [ebx + 4], 0
mov dword [ebx + 8], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebx], eax
test eax, eax
je 0x10023a07
jmp 0x1002301e
xor ebx, ebx
mov eax, dword [esp + 0x14]
mov dword [eax], ebx
test ebx, ebx
je 0x10023a07
mov ebx, dword [esp + 0x28]
push ebx
call fcn.10015d80
add esp, 8
test ebp, ebp
je 0x10023049
mov dword [esp + 0x24], 1
test ebx, ebx
jne 0x10023051
mov dword [esp + 0x24], 0
test esi, esi
je 0x10023059
mov eax, dword [esi]
jmp 0x1002305b
xor eax, eax
push edi
lea ecx, [esp + 0x268]
push ecx
push eax
push dword [esp + 0x34]
push dword [esp + 0x30]
call fcn.10023d40
add esp, 0x10
mov ebp, eax
mov dword [esp + 0x14], esp
push 0xc
call fcn.10031690
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x100230b0
push str.Unregister_Java_Webstart
mov dword [ebx + 4], 0
mov dword [ebx + 8], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebx], eax
test eax, eax
je 0x10023a07
jmp 0x100230b2
xor ebx, ebx
mov eax, dword [esp + 0x14]
mov dword [eax], ebx
test ebx, ebx
je 0x10023a07
push ebp
call fcn.10015d80
add esp, 8
cmp dword [esp + 0x24], 0
je 0x100230db
test ebp, ebp
je 0x100230db
mov ebp, 1
jmp 0x100230dd
xor ebp, ebp
cmp byte [esp + 0x20], 0
je 0x10023169
test esi, esi
je 0x100230f0
mov eax, dword [esi]
jmp 0x100230f2
xor eax, eax
push edi
push eax
call fcn.1001ff30
add esp, 4
mov dword [esp + 0x28], eax
mov dword [esp + 0x14], esp
push 0xc
call fcn.10031690
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x10023139
push str.SSVSetup
mov dword [ebx + 4], 0
mov dword [ebx + 8], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebx], eax
test eax, eax
je 0x10023a07
jmp 0x1002313b
xor ebx, ebx
mov eax, dword [esp + 0x14]
mov dword [eax], ebx
test ebx, ebx
je 0x10023a07
mov ebx, dword [esp + 0x28]
push ebx
call fcn.10015d80
add esp, 8
test ebp, ebp
je 0x10023165
test ebx, ebx
je 0x10023165
mov ebp, 1
jmp 0x10023176
xor ebp, ebp
jmp 0x10023176
push str.Skip_SSVSetup:_no_previous_deploy_exists
call fcn.10003ca0
add esp, 4
test esi, esi
je 0x1002317e
mov eax, dword [esi]
jmp 0x10023180
xor eax, eax
push edi
push eax
push dword [esp + 0x1c]
call fcn.10024380
add esp, 8
mov ebx, eax
mov dword [esp + 0x14], esp
push 0xc
call fcn.10031690
mov edi, eax
add esp, 4
test edi, edi
je 0x100231c9
push str.UnregisterforElevation
mov dword [edi + 4], 0
mov dword [edi + 8], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [edi], eax
test eax, eax
je 0x10023a07
jmp 0x100231cb
xor edi, edi
mov eax, dword [esp + 0x14]
mov dword [eax], edi
test edi, edi
je 0x10023a07
push ebx
call fcn.10015d80
add esp, 8
test ebp, ebp
je 0x100231f2
mov dword [esp + 0x28], 1
test ebx, ebx
jne 0x100231fa
mov dword [esp + 0x28], 0
mov dword [esp + 0x14], esi
test esi, esi
je 0x10023206
lock inc dword [esi + 8]
push 0xc
call fcn.10031690
mov ebp, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov edi, eax
add esp, 4
test edi, edi
je 0x1002323d
push str._new_plugin
mov dword [edi + 4], 0
mov dword [edi + 8], 1
call ebp
mov dword [edi], eax
test eax, eax
je 0x10023a07
jmp 0x1002323f
xor edi, edi
mov dword [esp + 0x10], edi
test edi, edi
je 0x10023a07
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x18]
call fcn.10003700
or eax, 0xffffffff
lock xadd dword [edi + 8], eax
dec eax
jne 0x10023299
mov eax, dword [edi]
test eax, eax
je 0x10023277
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [edi], 0
mov eax, dword [edi + 4]
test eax, eax
je 0x1002328e
push eax
call fcn.1003b898
add esp, 4
mov dword [edi + 4], 0
push 0xc
push edi
call fcn.10031690
add esp, 8
mov edi, dword [esp + 0x14]
test edi, edi
je 0x100232a5
mov eax, dword [edi]
jmp 0x100232a7
xor eax, eax
push eax
call fcn.1002a080
add esp, 4
test eax, eax
je 0x10023355
test edi, edi
je 0x100232c0
mov eax, dword [edi]
jmp 0x100232c2
xor eax, eax
push str.npDeployJava1.dll
push eax
lea eax, [esp + 0x18]
push eax
call fcn.100294a0
add esp, 0xc
mov ebx, dword [eax]
test ebx, ebx
je 0x100232df
mov ebx, dword [ebx]
jmp 0x100232e1
xor ebx, ebx
push ebx
call fcn.1002a080
add esp, 4
test eax, eax
je 0x10023309
push 0
push 0
push 0
push 0
push ebx
push 0
push 1
push 2
push dword [esp + 0x50]
call fcn.10026620
add esp, 0x24
mov ebx, dword [esp + 0x10]
test ebx, ebx
je 0x10023355
or eax, 0xffffffff
lock xadd dword [ebx + 8], eax
dec eax
jne 0x10023355
test ebx, ebx
je 0x10023355
mov eax, dword [ebx]
test eax, eax
je 0x10023333
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [ebx], 0
mov eax, dword [ebx + 4]
test eax, eax
je 0x1002334a
push eax
call fcn.1003b898
add esp, 4
mov dword [ebx + 4], 0
push 0xc
push ebx
call fcn.10031690
add esp, 8
cmp byte [esp + 0x20], 0
jne 0x10023440
call fcn.1001d6c0
push ecx
mov dword [esp + 0x14], esp
mov ebp, eax
push 0xc
call fcn.10031690
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x100233a1
push str.RemoveStaticVersionRedirectKeys
mov dword [ebx + 4], 0
mov dword [ebx + 8], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebx], eax
test eax, eax
je 0x10023a07
jmp 0x100233a3
xor ebx, ebx
mov eax, dword [esp + 0x14]
mov dword [eax], ebx
test ebx, ebx
je 0x10023a07
push ebp
call fcn.10015d80
add esp, 8
cmp dword [esp + 0x28], 0
je 0x100233cc
test ebp, ebp
je 0x100233cc
mov ebp, 1
jmp 0x100233ce
xor ebp, ebp
push dword [esp + 0x2c]
call fcn.10022350
mov dword [esp + 0x14], esp
push 0xc
mov dword [esp + 0x1c], eax
call fcn.10031690
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x10023414
push str.UnRegister_Deployment_Toolkit
mov dword [ebx + 4], 0
mov dword [ebx + 8], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebx], eax
test eax, eax
je 0x10023a07
jmp 0x10023416
xor ebx, ebx
mov eax, dword [esp + 0x14]
mov dword [eax], ebx
test ebx, ebx
je 0x10023a07
mov ebx, dword [esp + 0x18]
push ebx
call fcn.10015d80
add esp, 8
test ebp, ebp
je 0x1002356b
test ebx, ebx
jmp 0x10023562
push 0xc
call fcn.10031690
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x10023471
push str.Re_register_DT_in:
mov dword [ebx + 4], 0
mov dword [ebx + 8], 1
call ebp
mov dword [ebx], eax
test eax, eax
je 0x10023a07
jmp 0x10023473
xor ebx, ebx
mov dword [esp + 0x14], ebx
test ebx, ebx
je 0x10023a07
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x18]
call fcn.10003700
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x10023499
mov eax, dword [ebx]
jmp 0x1002349d
xor eax, eax
xor ebx, ebx
push eax
call fcn.10003ca0
add esp, 4
test ebx, ebx
je 0x100234ea
or eax, 0xffffffff
lock xadd dword [ebx + 8], eax
dec eax
jne 0x100234ea
mov eax, dword [ebx]
test eax, eax
je 0x100234c8
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [ebx], 0
mov eax, dword [ebx + 4]
test eax, eax
je 0x100234df
push eax
call fcn.1003b898
add esp, 4
mov dword [ebx + 4], 0
push 0xc
push ebx
call fcn.10031690
add esp, 8
test esi, esi
je 0x100234f2
mov eax, dword [esi]
jmp 0x100234f4
xor eax, eax
push dword [esp + 0x2c]
push eax
push dword [esp + 0x38]
call fcn.1001a2b0
add esp, 8
mov ebp, eax
mov dword [esp + 0x14], esp
push 0xc
call fcn.10031690
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x10023540
push str.Register_Deployment_Toolkit
mov dword [ebx + 4], 0
mov dword [ebx + 8], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebx], eax
test eax, eax
je 0x10023a07
jmp 0x10023542
xor ebx, ebx
mov eax, dword [esp + 0x14]
mov dword [eax], ebx
test ebx, ebx
je 0x10023a07
push ebp
call fcn.10015d80
add esp, 8
cmp dword [esp + 0x28], 0
je 0x1002356b
test ebp, ebp
je 0x1002356b
mov ebp, 1
jmp 0x1002356d
xor ebp, ebp
push 0x20019
push str.SOFTWARE
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [esp + 0x4c]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
call fcn.10003a10
test eax, eax
jne 0x100236be
push 0x20019
push str.JavaSoft
push dword [esp + 0x48]
lea ecx, [esp + 0x40]
call fcn.10003a10
test eax, eax
jne 0x10023699
lea eax, [esp + 0x34]
push str.Java_Plug_in
push eax
call fcn.10016c50
add esp, 8
test eax, eax
je 0x10023670
push 0x20006
push str.SOFTWAREJavaSoftJava_Runtime_Environment
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [esp + 0x58]
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
call fcn.10003a10
mov ebx, dword [esp + 0x4c]
test eax, eax
je 0x10023639
push str.DeleteEmptyDeploymentKeysInHLKM:_failed_to_open_JRE_key
call fcn.10003ca0
add esp, 4
jmp 0x10023661
push str.BrowserJavaVersion
push ebx
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
push ecx
mov ecx, esp
mov ebx, eax
push str.DeleteEmptyDeploymentKeysInHLKM:_Remove_BrowserJavaVersion_value
call fcn.100032a0
push ebx
call fcn.10015220
mov ebx, dword [esp + 0x54]
add esp, 8
test ebx, ebx
je 0x10023670
push ebx
mov ebx, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call ebx
jmp 0x10023676
mov ebx, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [esp + 0x34]
push str.Java_Web_Start
push eax
call fcn.10016c50
lea eax, [esp + 0x3c]
push str.Java_Web_Start_Caps
push eax
call fcn.10016c50
add esp, 0x10
jmp 0x1002369f
mov ebx, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [esp + 0x40]
push str.JavaSoft
push eax
call fcn.10016c50
mov eax, dword [esp + 0x3c]
add esp, 8
test eax, eax
je 0x100236c4
push eax
call ebx
jmp 0x100236c4
mov ebx, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [esp + 0x40]
test eax, eax
je 0x100236cf
push eax
call ebx
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
call fcn.1001d010
mov ebx, dword [esp + 0x30]
lea eax, [esp + 0x4c]
push eax
push ebx
call fcn.10026d20
push ebx
call fcn.10026410
add esp, 0xc
cmp byte [esp + 0x20], 0
je 0x1002381b
call fcn.10016d60
call fcn.1001d6c0
push ecx
mov dword [esp + 0x14], esp
push 0xc
mov dword [esp + 0x1c], eax
call fcn.10031690
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x1002375f
push str.RemoveStaticVersionRedirectKeys
mov dword [ebx + 4], 0
mov dword [ebx + 8], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebx], eax
test eax, eax
je 0x10023a07
jmp 0x10023761
xor ebx, ebx
mov eax, dword [esp + 0x14]
mov dword [eax], ebx
test ebx, ebx
je 0x10023a07
mov ebx, dword [esp + 0x18]
push ebx
call fcn.10015d80
add esp, 8
test ebp, ebp
je 0x1002378c
mov dword [esp + 0x14], 1
test ebx, ebx
jne 0x10023794
mov dword [esp + 0x14], 0
test esi, esi
je 0x1002379c
mov eax, dword [esi]
jmp 0x1002379e
xor eax, eax
push dword [esp + 0x2c]
push eax
call fcn.10019f40
add esp, 4
mov ebp, eax
mov dword [esp + 0x14], esp
push 0xc
call fcn.10031690
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x100237e6
push str.RedirectAllStaticVersionKeys
mov dword [ebx + 4], 0
mov dword [ebx + 8], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebx], eax
test eax, eax
je 0x10023a07
jmp 0x100237e8
xor ebx, ebx
mov eax, dword [esp + 0x14]
mov dword [eax], ebx
test ebx, ebx
je 0x10023a07
push ebp
call fcn.10015d80
add esp, 8
cmp dword [esp + 0x14], 0
je 0x10023814
test ebp, ebp
je 0x10023814
mov ebp, 1
jmp 0x10023913
xor ebp, ebp
jmp 0x10023913
cmp byte [esp + 0x18], 0
jne 0x10023913
push 1
call fcn.10015fe0
call fcn.100161e0
push 0x208
lea eax, [esp + 0x64]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
lea eax, [esp + 0x6c]
push 0x104
push eax
call fcn.10004620
add esp, 0x18
test eax, eax
je 0x100238ab
push ecx
mov dword [esp + 0x14], esp
push 0xc
call fcn.10031690
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x10023893
lea eax, [esp + 0x60]
mov dword [ebx + 4], 0
push eax
mov dword [ebx + 8], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebx], eax
test eax, eax
je 0x10023a07
jmp 0x10023895
xor ebx, ebx
mov eax, dword [esp + 0x14]
mov dword [eax], ebx
test ebx, ebx
je 0x10023a07
call fcn.100166e0
add esp, 4
lea eax, [esp + 0x5c]
push 0x104
push eax
call fcn.10004050
add esp, 8
test eax, eax
je 0x10023913
push ecx
mov dword [esp + 0x14], esp
push 0xc
call fcn.10031690
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x100238fb
lea eax, [esp + 0x60]
mov dword [ebx + 4], 0
push eax
mov dword [ebx + 8], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebx], eax
test eax, eax
je 0x10023a07
jmp 0x100238fd
xor ebx, ebx
mov eax, dword [esp + 0x14]
mov dword [eax], ebx
test ebx, ebx
je 0x10023a07
call fcn.100166e0
add esp, 4
call fcn.100058e0
test eax, eax
je 0x10023926
push 0
call fcn.10015fe0
add esp, 4
mov ecx, str.FALSE
test ebp, ebp
mov eax, str.TRUE
cmove eax, ecx
push eax
push str.UnRegisterDeployEx_return:__s
lea eax, [esp + 0x226c]
push 0x800
push eax
call fcn.10005d50
lea eax, [esp + 0x2274]
push eax
call fcn.10003ca0
add esp, 0x14
call fcn.10003c80
or ecx, 0xffffffff
test edi, edi
je 0x100239ab
mov eax, ecx
lock xadd dword [edi + 8], eax
dec eax
jne 0x100239ab
mov eax, dword [edi]
test eax, eax
je 0x10023986
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [edi], 0
mov eax, dword [edi + 4]
test eax, eax
je 0x1002399d
push eax
call fcn.1003b898
add esp, 4
mov dword [edi + 4], 0
push 0xc
push edi
call fcn.10031690
add esp, 8
or ecx, 0xffffffff
test esi, esi
je 0x100239ec
lock xadd dword [esi + 8], ecx
dec ecx
jne 0x100239ec
mov eax, dword [esi]
test eax, eax
je 0x100239ca
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x100239e1
push eax
call fcn.1003b898
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.10031690
add esp, 8
mov ecx, dword [esp + 0x6264]
mov eax, ebp
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1003b4ee
add esp, 0x6258
ret
push 0x8007000e
call fcn.10031690
int3