Function at 0x1003865c
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
sub esp, 0x208
lea ebp, [esp - 4]
mov eax, dword [0x10095dec]
xor eax, ebp
mov dword [ebp + 0x208], eax
push 0x6c
mov eax, 0x10071934
call fcn.1003c0ab
mov ebx, dword [ebp + 0x214]
lea eax, [ebp - 0x20]
push eax
push 0x20019
xor edi, edi
push edi
push str.JNLPFileShellOpenCommand
push SysReAllocStringLen
mov dword [ebp - 0x1c], 0x208
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x100389a7
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp]
push eax
lea eax, [ebp - 0x24]
push eax
push edi
push edi
push dword [ebp - 0x20]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
push dword [ebp - 0x20]
mov esi, eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp esi, edi
jne 0x100389a7
cmp dword [ebp - 0x24], 1
jne 0x100389a7
mov eax, dword [ebp - 0x1c]
shr eax, 1
cmp eax, 0x104
jb 0x100386f6
mov eax, 0x103
xor ecx, ecx
mov word [ebp + eax*2], cx
push 0x10085158
lea ecx, [ebp - 0x14]
call fcn.100010b1
push 0x10084c93
lea ecx, [ebp - 0x18]
mov dword [ebp - 4], edi
call fcn.1000b23a
lea eax, [ebp]
push 0x1008515c
push eax
mov byte [ebp - 4], 1
call fcn.1005e425
pop ecx
test eax, eax
pop ecx
lea eax, [ebp]
je 0x100387ac
push str.___1_
push eax
call fcn.1005e425
pop ecx
pop ecx
cmp eax, edi
je 0x1003898f
xor ecx, ecx
mov word [eax], cx
lea eax, [ebp]
push eax
lea ecx, [ebp - 0x10]
call fcn.100010b1
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.1000132e
mov ecx, dword [ebp - 0x10]
mov byte [ebp - 4], 1
cmp ecx, edi
je 0x1003877b
call fcn.10001238
lea eax, [ebp]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, di
jne 0x10038781
sub eax, edx
sar eax, 1
xor ecx, ecx
mov word [ebp + eax*2 - 2], cx
lea eax, [ebp + 2]
push eax
lea ecx, [ebp - 0x10]
call fcn.100010b1
mov byte [ebp - 4], 3
jmp 0x1003885c
push str.jp2launcher.exe
push eax
call fcn.1005e425
pop ecx
pop ecx
cmp eax, edi
je 0x1003898f
xor ecx, ecx
mov word [eax], cx
lea eax, [ebp]
push eax
lea ecx, [ebp - 0x10]
call fcn.100010b1
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 4
call fcn.1000132e
mov ecx, dword [ebp - 0x10]
mov byte [ebp - 4], 1
cmp ecx, edi
je 0x100387f2
call fcn.10001238
push str.javaws.exe_
lea ecx, [ebp - 0x10]
call fcn.100010b1
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 5
call fcn.1000132e
mov ecx, dword [ebp - 0x10]
mov byte [ebp - 4], 1
cmp ecx, edi
je 0x1003881f
call fcn.10001238
lea eax, [ebp + 2]
push eax
lea ecx, [ebp - 0x10]
call fcn.100010b1
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 6
call fcn.1000132e
mov ecx, dword [ebp - 0x10]
mov byte [ebp - 4], 1
cmp ecx, edi
je 0x1003884b
call fcn.10001238
push str.javaws.exe
lea ecx, [ebp - 0x10]
call fcn.100010b1
mov byte [ebp - 4], 7
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x18]
call fcn.1000132e
mov ecx, dword [ebp - 0x10]
mov byte [ebp - 4], 1
cmp ecx, edi
je 0x10038878
call fcn.10001238
push str.__nocodebase
lea ecx, [ebp - 0x10]
call fcn.100010b1
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 8
call fcn.1000132e
mov ecx, dword [ebp - 0x10]
mov byte [ebp - 4], 1
cmp ecx, edi
je 0x100388a5
call fcn.10001238
push 0x100851ec
lea ecx, [ebp - 0x10]
call fcn.100010b1
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 9
call fcn.1000132e
mov ecx, dword [ebp - 0x10]
mov byte [ebp - 4], 1
cmp ecx, edi
je 0x100388d2
call fcn.10001238
push ebx
lea ecx, [ebp - 0x10]
call fcn.100010b1
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0xa
call fcn.1000132e
mov ecx, dword [ebp - 0x10]
mov byte [ebp - 4], 1
cmp ecx, edi
je 0x100388fb
call fcn.10001238
push 0x100851f0
lea ecx, [ebp - 0x10]
call fcn.100010b1
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0xb
call fcn.1000132e
mov ecx, dword [ebp - 0x10]
cmp ecx, edi
je 0x10038924
call fcn.10001238
push 0x44
pop esi
push esi
lea eax, [ebp - 0x78]
push edi
push eax
call fcn.1003c260
mov eax, dword [ebp - 0x14]
add esp, 0xc
mov dword [ebp - 0x78], esi
cmp eax, edi
je 0x10038943
mov ecx, dword [eax]
jmp 0x10038945
xor ecx, ecx
mov ebx, dword [ebp - 0x18]
cmp ebx, edi
je 0x10038950
mov eax, dword [ebx]
jmp 0x10038952
xor eax, eax
lea edx, [ebp - 0x34]
push edx
lea edx, [ebp - 0x78]
push edx
push edi
push edi
push edi
push edi
push edi
push edi
push ecx
push eax
call fcn.1005e425
add esp, 0x28
mov esi, eax
neg esi
sbb esi, esi
and esi, 0xfffffff9
cmp ebx, edi
je 0x1003897e
mov ecx, ebx
call fcn.10001238
mov ecx, dword [ebp - 0x14]
cmp ecx, edi
je 0x1003898a
call fcn.10001238
lea eax, [esi + 7]
jmp 0x100389aa
mov ecx, dword [ebp - 0x18]
cmp ecx, edi
je 0x1003899b
call fcn.10001238
mov ecx, dword [ebp - 0x14]
cmp ecx, edi
je 0x100389a7
call fcn.10001238
push 6
pop eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x208]
xor ecx, ebp
call fcn.1003c09c
add ebp, 0x20c
leave
ret