Function at 0x1003b8ca
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
lea ebp, [esp - 0x20c]
sub esp, 0x20c
push 0xffffffffffffffff
push 0x100cfb63
mov eax, dword fs:[0]
push eax
sub esp, 0x6c
mov eax, dword [0x10130aa4]
xor eax, ebp
mov dword [ebp + 0x208], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 0x214]
lea eax, [ebp - 0x1c]
push eax
push 0x20019
xor ebx, ebx
mov dword [ebp - 0x20], 0x208
push ebx
push str.JNLPFileShellOpenCommand
push SysReAllocStringLen
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x1003bc7a
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp]
push eax
lea eax, [ebp - 0x24]
push eax
push ebx
push ebx
push dword [ebp - 0x1c]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
push dword [ebp - 0x1c]
mov esi, eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test esi, esi
jne 0x1003bc7a
cmp dword [ebp - 0x24], 1
jne 0x1003bc7a
mov eax, dword [ebp - 0x20]
shr eax, 1
cmp eax, 0x104
jae 0x1003b983
add eax, eax
cmp eax, 0x208
jae 0x1003bca0
jmp 0x1003b988
mov eax, 0x206
xor ecx, ecx
mov word [ebp + eax], cx
lea ecx, [ebp - 0x14]
push 0x10110a44
call fcn.10001719
push 0x10110583
lea ecx, [ebp - 0x18]
mov dword [ebp - 4], ebx
call fcn.1000dcc0
lea eax, [ebp]
mov byte [ebp - 4], 1
push 0x10110a48
push eax
call fcn.100655df
pop ecx
test eax, eax
lea eax, [ebp]
pop ecx
je 0x1003ba55
push str.___1_
push eax
call fcn.100655df
pop ecx
pop ecx
test eax, eax
je 0x1003bc35
xor ecx, ecx
mov word [eax], cx
lea eax, [ebp]
push eax
lea ecx, [ebp - 0x10]
call fcn.10001719
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 2
push eax
lea ecx, [ebp - 0x14]
call fcn.1000186b
mov ecx, dword [ebp - 0x10]
mov byte [ebp - 4], 1
test ecx, ecx
je 0x1003ba11
call fcn.10001b13
lea ecx, [ebp]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0x1003ba17
sub ecx, edx
sar ecx, 1
lea ecx, [ecx*2 - 2]
cmp ecx, 0x208
jae 0x1003bca0
xor eax, eax
mov word [ebp + ecx], ax
lea eax, [ebp + 2]
push eax
lea ecx, [ebp - 0x10]
call fcn.10001719
mov byte [ebp - 4], 3
jmp 0x1003bb05
push str.jp2launcher.exe
push eax
call fcn.100655df
pop ecx
pop ecx
test eax, eax
je 0x1003bc35
xor ecx, ecx
mov word [eax], cx
lea eax, [ebp]
push eax
lea ecx, [ebp - 0x10]
call fcn.10001719
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x14]
call fcn.1000186b
mov ecx, dword [ebp - 0x10]
mov byte [ebp - 4], 1
test ecx, ecx
je 0x1003ba9b
call fcn.10001b13
push str.javaws.exe_
lea ecx, [ebp - 0x10]
call fcn.10001719
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 5
push eax
lea ecx, [ebp - 0x14]
call fcn.1000186b
mov ecx, dword [ebp - 0x10]
mov byte [ebp - 4], 1
test ecx, ecx
je 0x1003bac8
call fcn.10001b13
lea eax, [ebp + 2]
push eax
lea ecx, [ebp - 0x10]
call fcn.10001719
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0x18]
call fcn.1000186b
mov ecx, dword [ebp - 0x10]
mov byte [ebp - 4], 1
test ecx, ecx
je 0x1003baf4
call fcn.10001b13
push str.javaws.exe
lea ecx, [ebp - 0x10]
call fcn.10001719
mov byte [ebp - 4], 7
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x18]
call fcn.1000186b
mov ecx, dword [ebp - 0x10]
mov byte [ebp - 4], 1
test ecx, ecx
je 0x1003bb21
call fcn.10001b13
push str.__nocodebase
lea ecx, [ebp - 0x10]
call fcn.10001719
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 8
push eax
lea ecx, [ebp - 0x14]
call fcn.1000186b
mov ecx, dword [ebp - 0x10]
mov byte [ebp - 4], 1
test ecx, ecx
je 0x1003bb4e
call fcn.10001b13
push 0x10110ad8
lea ecx, [ebp - 0x10]
call fcn.10001719
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 9
push eax
lea ecx, [ebp - 0x14]
call fcn.1000186b
mov ecx, dword [ebp - 0x10]
mov byte [ebp - 4], 1
test ecx, ecx
je 0x1003bb7b
call fcn.10001b13
push edi
lea ecx, [ebp - 0x10]
call fcn.10001719
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 0xa
push eax
lea ecx, [ebp - 0x14]
call fcn.1000186b
mov ecx, dword [ebp - 0x10]
mov byte [ebp - 4], 1
test ecx, ecx
je 0x1003bba4
call fcn.10001b13
push 0x10110adc
lea ecx, [ebp - 0x10]
call fcn.10001719
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 0xb
push eax
lea ecx, [ebp - 0x14]
call fcn.1000186b
mov ecx, dword [ebp - 0x10]
test ecx, ecx
je 0x1003bbcd
call fcn.10001b13
push 0x44
pop esi
push esi
lea eax, [ebp - 0x78]
push ebx
push eax
call fcn.100621d0
mov dword [ebp - 0x78], esi
add esp, 0xc
mov esi, dword [ebp - 0x14]
test esi, esi
je 0x1003bbec
mov eax, dword [esi]
jmp 0x1003bbee
mov eax, ebx
mov edi, dword [ebp - 0x18]
test edi, edi
je 0x1003bbf9
mov ecx, dword [edi]
jmp 0x1003bbfb
mov ecx, ebx
lea edx, [ebp - 0x34]
push edx
lea edx, [ebp - 0x78]
push edx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push eax
push ecx
call fcn.100349e3
add esp, 0x28
neg eax
sbb ebx, ebx
and ebx, 0xfffffff9
test edi, edi
je 0x1003bc25
mov ecx, edi
call fcn.10001b13
test esi, esi
je 0x1003bc30
mov ecx, esi
call fcn.10001b13
lea eax, [ebx + 7]
jmp 0x1003bc7d
mov esi, dword [ebp - 0x18]
or edi, 0xffffffff
test esi, esi
je 0x1003bc5a
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x1003bc5a
mov ecx, esi
call fcn.10001b86
push 0xc
push esi
call fcn.1005e174
pop ecx
pop ecx
mov esi, dword [ebp - 0x14]
test esi, esi
je 0x1003bc7a
lock xadd dword [esi + 8], edi
dec edi
jne 0x1003bc7a
mov ecx, esi
call fcn.10001b86
push 0xc
push esi
call fcn.1005e174
pop ecx
pop ecx
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.1005e187
add ebp, 0x20c
leave
ret
call fcn.1005ea97
int3