Function at 0x40141b
Capabilities:
Link many functions at runtime
Query or enumerate registry value

Disassembly:
push ebp
lea ebp, [esp - 0x2004]
mov eax, 0x2004
call fcn.00406cb0
push 0xffffffffffffffff
push 0x407cae
mov eax, dword fs:[0]
push eax
sub esp, 0x74
mov eax, dword [0x40c148]
xor eax, ebp
mov dword [ebp + 0x2000], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
call fcn.0040431b
neg eax
sbb eax, eax
xor esi, esi
xor ebx, ebx
inc ebx
neg eax
push 4
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x20], ebx
pop edi
cmp dword [ebp + 0x200c], ebx
jle 0x4019a7
mov eax, dword [ebp + 0x2010]
mov ecx, dword [ebp - 0x20]
mov ebx, dword [eax + ecx*4]
mov ecx, str._new
mov eax, ebx
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4014db
cmp dx, si
je 0x4014d7
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4014db
add eax, edi
add ecx, edi
cmp dx, si
jne 0x4014b7
xor eax, eax
jmp 0x4014e0
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jne 0x4014f0
mov dword [ebp - 0x24], 1
jmp 0x401840
mov ecx, str._old
mov eax, ebx
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x40151b
cmp dx, si
je 0x401517
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x40151b
add eax, edi
add ecx, edi
cmp dx, si
jne 0x4014f7
xor eax, eax
jmp 0x401520
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jne 0x401537
call fcn.0040431b
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x24], eax
jmp 0x401840
mov ecx, str._high
mov eax, ebx
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x401562
cmp dx, si
je 0x40155e
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x401562
add eax, edi
add ecx, edi
cmp dx, si
jne 0x40153e
xor eax, eax
jmp 0x401567
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jne 0x401577
mov dword [ebp - 0x48], 1
jmp 0x401840
mov ecx, str._jpisetup
mov eax, ebx
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4015a2
cmp dx, si
je 0x40159e
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4015a2
add eax, edi
add ecx, edi
cmp dx, si
jne 0x40157e
xor eax, eax
jmp 0x4015a7
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jne 0x4015b7
mov dword [ebp - 0x34], 1
jmp 0x401840
mov ecx, str._settreatas
mov eax, ebx
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4015e2
cmp dx, si
je 0x4015de
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4015e2
add eax, edi
add ecx, edi
cmp dx, si
jne 0x4015be
xor eax, eax
jmp 0x4015e7
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jne 0x4015f7
mov dword [ebp - 0x40], 1
jmp 0x401840
mov ecx, str._fullreg
mov eax, ebx
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x401622
cmp dx, si
je 0x40161e
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x401622
add eax, edi
add ecx, edi
cmp dx, si
jne 0x4015fe
xor eax, eax
jmp 0x401627
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jne 0x401637
mov dword [ebp - 0x30], 1
jmp 0x401840
mov ecx, str._regdeploy
mov eax, ebx
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x401662
cmp dx, si
je 0x40165e
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x401662
add eax, edi
add ecx, edi
cmp dx, si
jne 0x40163e
xor eax, eax
jmp 0x401667
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jne 0x401677
mov dword [ebp - 0x3c], 1
jmp 0x401840
mov ecx, str._register
mov eax, ebx
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4016a2
cmp dx, si
je 0x40169e
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4016a2
add eax, edi
add ecx, edi
cmp dx, si
jne 0x40167e
xor eax, eax
jmp 0x4016a7
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jne 0x4016b7
mov dword [ebp - 0x28], 1
jmp 0x401840
mov ecx, str._disablewebjava
mov eax, ebx
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4016e2
cmp dx, si
je 0x4016de
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4016e2
add eax, edi
add ecx, edi
cmp dx, si
jne 0x4016be
xor eax, eax
jmp 0x4016e7
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jne 0x4016f7
mov dword [ebp - 0x44], 1
jmp 0x401840
mov ecx, str._forceinstall
mov eax, ebx
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x401722
cmp dx, si
je 0x40171e
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x401722
add eax, edi
add ecx, edi
cmp dx, si
jne 0x4016fe
xor eax, eax
jmp 0x401727
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jne 0x401737
mov dword [ebp - 0x2c], 1
jmp 0x401840
mov ecx, str._nohint
mov eax, ebx
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x401762
cmp dx, si
je 0x40175e
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x401762
add eax, edi
add ecx, edi
cmp dx, si
jne 0x40173e
xor eax, eax
jmp 0x401767
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jne 0x401777
mov dword [ebp - 0x4c], 1
jmp 0x401840
mov ecx, str._enablesponsorofferings
mov eax, ebx
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4017a2
cmp dx, si
je 0x40179e
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4017a2
add eax, edi
add ecx, edi
cmp dx, si
jne 0x40177e
xor eax, eax
jmp 0x4017a7
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jne 0x4017b7
mov dword [ebp - 0x1c], 1
jmp 0x401840
mov ecx, str._disablesponsorofferings
mov eax, ebx
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4017e2
cmp dx, si
je 0x4017de
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4017e2
add eax, edi
add ecx, edi
cmp dx, si
jne 0x4017be
xor eax, eax
jmp 0x4017e7
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jne 0x4017f4
mov dword [ebp - 0x38], 1
jmp 0x401840
mov ecx, str._doHKCUSSVSetup
mov eax, ebx
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x40181f
cmp dx, si
je 0x40181b
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x40181f
add eax, edi
add ecx, edi
cmp dx, si
jne 0x4017fb
xor eax, eax
jmp 0x401824
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jne 0x401e50
cmp dword [ebp + 0x200c], 2
mov dword [ebp - 0x18], 1
jne 0x401e50
inc dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp + 0x200c]
jl 0x4014a4
cmp dword [ebp - 0x18], esi
je 0x4019a4
lea eax, [ebp - 0x20]
push eax
push 0x20019
push esi
xor edi, edi
push str.SOFTWAREOracleJavaDeploy
inc edi
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [ebp - 0x24], edi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x401886
mov eax, edi
jmp 0x401e53
xor eax, eax
push 0xffe
mov word [ebp], ax
lea eax, [ebp + 2]
push esi
push eax
mov dword [ebp - 0x30], 0x800
call sub.MSVCR100.dll_memset
add esp, 0xc
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp]
push eax
lea eax, [ebp - 0x34]
push eax
push esi
push str.deployment.home.bin.ssvagent
push dword [ebp - 0x20]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
push dword [ebp - 0x20]
test eax, eax
je 0x4018cf
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x40187f
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp]
push eax
lea ecx, [ebp - 0x28]
call fcn.00401fcd
push 0x40872c
lea ecx, [ebp - 0x1c]
mov dword [ebp - 4], esi
call fcn.00401f80
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 1
call fcn.00404161
mov ecx, dword [ebp - 0x1c]
cmp ecx, esi
je 0x40190d
call fcn.004039c2
mov eax, dword [ebp - 0x28]
mov byte [ebp - 4], 2
cmp eax, esi
je 0x40191c
mov eax, dword [eax]
jmp 0x40191e
xor eax, eax
push eax
call dword [sym.imp.kernel32.dll_LoadLibraryW]
mov edi, eax
mov dword [ebp - 0x1c], edi
cmp edi, esi
je 0x401976
mov esi, dword [sym.imp.kernel32.dll_GetProcAddress]
push 0x408738
push edi
call esi
test eax, eax
je 0x401952
push 0
push 0
call eax
pop ecx
pop ecx
xor ecx, ecx
test eax, eax
setne cl
mov dword [ebp - 0x24], ecx
push 0x408758
push edi
call esi
test eax, eax
je 0x401976
xor esi, esi
push esi
push esi
call eax
pop ecx
pop ecx
cmp dword [ebp - 0x24], esi
je 0x401999
cmp eax, esi
je 0x401999
mov dword [ebp - 0x24], 1
cmp dword [ebp - 0x1c], 0
je 0x401985
push dword [ebp - 0x1c]
call dword [sym.imp.kernel32.dll_FreeLibrary]
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x401991
call fcn.004039c2
mov eax, dword [ebp - 0x24]
jmp 0x401e53
mov dword [ebp - 0x24], esi
jmp 0x401976
xor ebx, ebx
inc ebx
xor eax, eax
push 0xffe
mov word [ebp + 0x1000], ax
lea eax, [ebp + 0x1002]
push esi
push eax
mov dword [ebp - 0x20], ebx
call sub.MSVCR100.dll_memset
push 0x800
lea eax, [ebp + 0x1000]
push eax
push ebx
push esi
call fcn.00407871
add esp, 0x1c
test eax, eax
jne 0x4019e6
mov eax, ebx
jmp 0x401e53
lea eax, [ebp + 0x1000]
push eax
lea ecx, [ebp - 0x14]
call fcn.00401fcd
push str.deploy.dll
lea ecx, [ebp - 0x18]
mov dword [ebp - 4], edi
call fcn.00401fcd
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 5
call fcn.00404161
mov ecx, dword [ebp - 0x18]
mov byte [ebp - 4], 4
cmp ecx, esi
je 0x401a25
call fcn.004039c2
mov eax, dword [ebp - 0x14]
cmp eax, esi
je 0x401a30
mov eax, dword [eax]
jmp 0x401a32
xor eax, eax
mov ebx, dword [sym.imp.kernel32.dll_LoadLibraryW]
push eax
call ebx
mov edi, eax
xor esi, esi
cmp edi, esi
jne 0x401a4d
mov ecx, dword [ebp - 0x14]
cmp ecx, esi
jmp 0x401e49
cmp dword [ebp - 0x44], esi
je 0x401acd
push str.UnregisterDeployEx
push edi
call dword [sym.imp.kernel32.dll_GetProcAddress]
cmp eax, esi
je 0x401a43
mov dword [ebp - 0x80], 0x34
mov dword [ebp - 0x7c], 4
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x64], esi
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x74], 2
mov dword [ebp - 0x6c], 1
push 0
cmp dword [ebp - 0x4c], esi
je 0x401aa1
push 0
jmp 0x401aa5
lea ecx, [ebp - 0x80]
push ecx
call eax
pop ecx
pop ecx
push edi
mov esi, eax
call dword [sym.imp.kernel32.dll_FreeLibrary]
mov ecx, dword [ebp - 0x14]
test esi, esi
je 0x401e47
test ecx, ecx
je 0x401ac6
call fcn.004039c2
xor eax, eax
jmp 0x401e53
cmp dword [ebp - 0x1c], esi
jne 0x401e15
cmp dword [ebp - 0x38], esi
jne 0x401e15
cmp dword [ebp - 0x3c], esi
jne 0x401ae9
cmp dword [ebp - 0x28], esi
je 0x401b57
mov esi, dword [sym.imp.kernel32.dll_GetProcAddress]
push str.RegisterDeployEx
push edi
call esi
test eax, eax
je 0x401e44
cmp dword [ebp - 0x2c], 0
je 0x401b3d
xor ecx, ecx
xor edx, edx
push ecx
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], ecx
inc edx
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x80], 0x34
mov dword [ebp - 0x7c], 4
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x6c], edx
push ecx
jmp 0x401b41
push 0
push 0
call eax
pop ecx
pop ecx
push edi
call dword [sym.imp.kernel32.dll_FreeLibrary]
cmp dword [ebp - 0x28], 0
jne 0x401b5d
jmp 0x401e3c
mov esi, dword [sym.imp.kernel32.dll_GetProcAddress]
push 0x400
lea eax, [ebp + 0x1000]
push eax
push 1
push 0
call fcn.00407871
add esp, 0x10
cmp eax, 1
jne 0x401d4f
lea eax, [ebp + 0x1000]
push eax
lea ecx, [ebp - 0x18]
call fcn.00401fcd
cmp dword [ebp - 0x24], 0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x2c]
je 0x401baa
push str.jp2ssv.dll
call fcn.00401fcd
mov byte [ebp - 4], 7
jmp 0x401bb8
push str._ssv.dll
call fcn.00401fcd
mov byte [ebp - 4], 8
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x18]
call fcn.00404161
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
je 0x401bd0
call fcn.004039c2
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 9
test eax, eax
je 0x401bdf
mov eax, dword [eax]
jmp 0x401be1
xor eax, eax
push eax
call ebx
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
je 0x401d34
xor edi, edi
mov dword [ebp - 0x20], edi
cmp dword [ebp - 0x48], edi
je 0x401d72
cmp dword [ebp - 0x40], edi
jne 0x401c09
cmp dword [ebp - 0x28], edi
je 0x401c48
push str.UpdateTreatAsKey
push ebx
call esi
cmp eax, edi
jne 0x401c2b
mov ecx, dword [ebp - 0x18]
cmp ecx, edi
je 0x401c21
call fcn.004039c2
mov ecx, dword [ebp - 0x14]
cmp ecx, edi
jmp 0x401e49
call eax
cmp dword [ebp - 0x28], edi
jne 0x401c48
mov ecx, dword [ebp - 0x18]
cmp ecx, edi
je 0x401c3e
call fcn.004039c2
mov ecx, dword [ebp - 0x14]
cmp ecx, edi
jmp 0x401abf
push 0x40884c
push ebx
call esi
cmp eax, edi
je 0x401c61
push edi
call eax
pop ecx
cmp eax, edi
je 0x401c61
xor edi, edi
inc edi
jmp 0x401c63
xor edi, edi
call fcn.0040459f
xor ebx, ebx
test eax, eax
jne 0x401c72
cmp edi, ebx
je 0x401ca1
push 0x408868
push dword [ebp - 0x1c]
call esi
cmp eax, ebx
jne 0x401c96
mov ecx, dword [ebp - 0x18]
cmp ecx, ebx
je 0x401c8c
call fcn.004039c2
mov ecx, dword [ebp - 0x14]
cmp ecx, ebx
jmp 0x401e49
xor edi, edi
inc edi
push ebx
push edi
call eax
pop ecx
pop ecx
jmp 0x401ca4
xor edi, edi
inc edi
cmp dword [ebp - 0x24], ebx
jne 0x401cde
push str.IsSSVEnabledInMozilla
push dword [ebp - 0x1c]
call esi
cmp eax, ebx
jne 0x401cd8
mov ecx, dword [ebp - 0x18]
cmp ecx, ebx
je 0x401cc3
call fcn.004039c2
mov ecx, dword [ebp - 0x14]
cmp ecx, ebx
je 0x40187f
call fcn.004039c2
jmp 0x40187f
call eax
cmp eax, ebx
je 0x401cee
push str.RemoveAllMozillaJavaPlugins
push dword [ebp - 0x1c]
call esi
cmp eax, ebx
je 0x401cb7
call eax
cmp dword [ebp - 0x34], ebx
je 0x401d2a
xor eax, eax
cmp dword [ebp - 0x24], edi
sete al
push eax
call fcn.00401189
pop ecx
test eax, eax
jne 0x401cb7
cmp dword [ebp - 0x30], ebx
jne 0x401d12
push 0x4088c0
jmp 0x401d17
push 0x4088e4
push dword [ebp - 0x1c]
call esi
cmp eax, ebx
je 0x401cb7
push ebx
push ebx
call eax
pop ecx
pop ecx
cmp eax, ebx
je 0x401cb7
cmp dword [ebp - 0x24], ebx
je 0x401d63
call fcn.00401173
cmp dword [ebp - 0x1c], 0
je 0x401d43
push dword [ebp - 0x1c]
call dword [sym.imp.kernel32.dll_FreeLibrary]
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x401d4f
call fcn.004039c2
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x401d5b
call fcn.004039c2
mov eax, dword [ebp - 0x20]
jmp 0x401e53
lea eax, [ebp + 0x1000]
push eax
call fcn.0040134a
pop ecx
jmp 0x401d34
push str.RegKeyBranchNeedsUpdating
push ebx
call esi
cmp eax, edi
je 0x401c15
xor ebx, ebx
push ebx
call eax
pop ecx
push str.CheckMozJavaPlugins
push dword [ebp - 0x1c]
mov edi, eax
call esi
cmp eax, ebx
je 0x401c80
cmp edi, ebx
jne 0x401dd8
call eax
cmp eax, ebx
jne 0x401dd8
push str.RedirectAllStaticVersionKeys
push dword [ebp - 0x1c]
call esi
cmp eax, ebx
je 0x401c80
push ebx
push ebx
call eax
pop ecx
pop ecx
push str.RedirectSelectedStaticVersionKeys
push dword [ebp - 0x1c]
call esi
cmp eax, ebx
je 0x401c80
push ebx
push ebx
call eax
pop ecx
pop ecx
jmp 0x401df9
push str.RunBrokerProcess
push dword [ebp - 0x1c]
call esi
cmp eax, ebx
je 0x401c80
push ebx
push ebx
push ebx
push edi
push 1
push dword [ebp - 0x24]
push ebx
call eax
add esp, 0x1c
xor ecx, ecx
cmp eax, ebx
sete cl
mov dword [ebp - 0x20], ecx
jmp 0x401d34
push str.EnableSponsorOfferings
push edi
call dword [sym.imp.kernel32.dll_GetProcAddress]
cmp eax, esi
je 0x401a43
push dword [ebp - 0x1c]
call eax
pop ecx
push edi
mov esi, eax
call dword [sym.imp.kernel32.dll_FreeLibrary]
test esi, esi
je 0x401e44
mov ecx, dword [ebp - 0x14]
jmp 0x401abd
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x401e50
call fcn.004039c2
xor eax, eax
inc eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x2000]
xor ecx, ebp
call fcn.00406bd0
add ebp, 0x2004
leave
ret