Function at 0x1003b84a
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
lea ebp, [esp - 0x20c]
sub esp, 0x20c
push 0xffffffffffffffff
push 0x100bc478
mov eax, dword fs:[0]
push eax
sub esp, 0x6c
mov eax, dword [0x1011ca44]
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 0x1003b9e6
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 0x1003b9e6
cmp dword [ebp - 0x24], 1
jne 0x1003b9e6
mov eax, dword [ebp - 0x20]
mov ecx, 0x103
shr eax, 1
mov esi, 0x208
cmp eax, 0x104
cmovb ecx, eax
add ecx, ecx
cmp ecx, esi
jae 0x1003bbed
xor eax, eax
mov word [ebp + ecx], ax
lea ecx, [ebp - 0x14]
push 0x100fc880
call fcn.10001727
push 0x100fc3bb
lea ecx, [ebp - 0x18]
mov dword [ebp - 4], ebx
call fcn.1000d9ae
lea eax, [ebp]
mov byte [ebp - 4], 1
push 0x100fc884
push eax
call fcn.1005eb20
pop ecx
test eax, eax
lea eax, [ebp]
pop ecx
je 0x1003ba0c
push str.___1_
push eax
call fcn.1005eb20
pop ecx
pop ecx
test eax, eax
je 0x1003b9ce
xor ecx, ecx
mov word [eax], cx
lea eax, [ebp]
push eax
lea ecx, [ebp - 0x10]
call fcn.10001727
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 2
push eax
lea ecx, [ebp - 0x14]
call fcn.1000187c
mov ecx, dword [ebp - 0x10]
mov byte [ebp - 4], 1
test ecx, ecx
je 0x1003b98e
call fcn.10001b26
lea ecx, [ebp]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0x1003b994
sub ecx, edx
sar ecx, 1
lea ecx, [ecx*2 - 2]
cmp ecx, esi
jae 0x1003bbed
xor eax, eax
mov word [ebp + ecx], ax
lea eax, [ebp + 2]
push eax
lea ecx, [ebp - 0x10]
call fcn.10001727
mov byte [ebp - 4], 3
jmp 0x1003bab8
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x1003b9da
call fcn.10001b26
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x1003b9e6
call fcn.10001b26
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.100587af
add ebp, 0x20c
leave
ret
push str.jp2launcher.exe
push eax
call fcn.1005eb20
pop ecx
pop ecx
test eax, eax
je 0x1003b9ce
xor ecx, ecx
mov word [eax], cx
lea eax, [ebp]
push eax
lea ecx, [ebp - 0x10]
call fcn.10001727
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x14]
call fcn.1000187c
mov ecx, dword [ebp - 0x10]
mov byte [ebp - 4], 1
test ecx, ecx
je 0x1003ba4e
call fcn.10001b26
push str.javaws.exe_
lea ecx, [ebp - 0x10]
call fcn.10001727
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 5
push eax
lea ecx, [ebp - 0x14]
call fcn.1000187c
mov ecx, dword [ebp - 0x10]
mov byte [ebp - 4], 1
test ecx, ecx
je 0x1003ba7b
call fcn.10001b26
lea eax, [ebp + 2]
push eax
lea ecx, [ebp - 0x10]
call fcn.10001727
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0x18]
call fcn.1000187c
mov ecx, dword [ebp - 0x10]
mov byte [ebp - 4], 1
test ecx, ecx
je 0x1003baa7
call fcn.10001b26
push str.javaws.exe
lea ecx, [ebp - 0x10]
call fcn.10001727
mov byte [ebp - 4], 7
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x18]
call fcn.1000187c
mov ecx, dword [ebp - 0x10]
mov byte [ebp - 4], 1
test ecx, ecx
je 0x1003bad4
call fcn.10001b26
push str.__nocodebase
lea ecx, [ebp - 0x10]
call fcn.10001727
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 8
push eax
lea ecx, [ebp - 0x14]
call fcn.1000187c
mov ecx, dword [ebp - 0x10]
mov byte [ebp - 4], 1
test ecx, ecx
je 0x1003bb01
call fcn.10001b26
push 0x100fc914
lea ecx, [ebp - 0x10]
call fcn.10001727
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 9
push eax
lea ecx, [ebp - 0x14]
call fcn.1000187c
mov ecx, dword [ebp - 0x10]
mov byte [ebp - 4], 1
test ecx, ecx
je 0x1003bb2e
call fcn.10001b26
push edi
lea ecx, [ebp - 0x10]
call fcn.10001727
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 0xa
push eax
lea ecx, [ebp - 0x14]
call fcn.1000187c
mov ecx, dword [ebp - 0x10]
mov byte [ebp - 4], 1
test ecx, ecx
je 0x1003bb57
call fcn.10001b26
push 0x100fc918
lea ecx, [ebp - 0x10]
call fcn.10001727
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 0xb
push eax
lea ecx, [ebp - 0x14]
call fcn.1000187c
mov ecx, dword [ebp - 0x10]
test ecx, ecx
je 0x1003bb80
call fcn.10001b26
push 0x44
pop esi
push esi
lea eax, [ebp - 0x78]
push ebx
push eax
call fcn.1005c640
mov dword [ebp - 0x78], esi
add esp, 0xc
mov esi, dword [ebp - 0x14]
test esi, esi
je 0x1003bb9f
mov eax, dword [esi]
jmp 0x1003bba1
mov eax, ebx
mov edi, dword [ebp - 0x18]
test edi, edi
je 0x1003bbac
mov ecx, dword [edi]
jmp 0x1003bbae
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.100aadfa
add esp, 0x28
mov ebx, eax
neg ebx
sbb ebx, ebx
and ebx, 0xfffffff9
test edi, edi
je 0x1003bbda
mov ecx, edi
call fcn.10001b26
test esi, esi
je 0x1003bbe5
mov ecx, esi
call fcn.10001b26
lea eax, [ebx + 7]
jmp 0x1003b9e9
call fcn.100aadfa
int3