Function at 0x4012e0
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x3038
call fcn.00403460
and esp, 0xfffffff0
mov eax, 0
add eax, 0xf
add eax, 0xf
shr eax, 4
shl eax, 4
mov dword [ebp - 0x301c], eax
mov eax, dword [ebp - 0x301c]
call fcn.00403460
call fcn.00403300
mov dword [esp + 8], 0x2000
lea eax, [ebp - 0x3008]
mov dword [esp + 4], eax
mov dword [esp], 0
call sub.KERNEL32.dll_GetModuleFileNameA
sub esp, 0xc
lea eax, [ebp - 0x3008]
mov dword [esp + 4], eax
lea eax, [ebp - 0x1008]
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
lea eax, [ebp - 0x3008]
mov dword [esp + 4], 0x5c
mov dword [esp], eax
call sub.msvcrt.dll_strrchr
mov dword [ebp - 0x300c], eax
cmp dword [ebp - 0x300c], 0
je 0x40138d
mov eax, dword [ebp - 0x300c]
inc eax
mov dword [esp], eax
call sub.msvcrt.dll__strlwr
mov eax, dword [ebp - 0x300c]
mov byte [eax], 0
lea eax, [ebp - 0x3008]
mov dword [esp + 4], 0x5c
mov dword [esp], eax
call sub.msvcrt.dll_strrchr
mov dword [ebp - 0x300c], eax
cmp dword [ebp - 0x300c], 0
je 0x4013d5
mov eax, dword [ebp - 0x300c]
mov dword [esp + 4], eax
mov dword [esp], str.lib
call sub.msvcrt.dll__stricmp
test eax, eax
jne 0x4013d5
mov eax, dword [ebp - 0x300c]
mov byte [eax], 0
lea eax, [ebp - 0x3008]
mov dword [esp + 4], eax
mov dword [esp], 0x406118
call sub.msvcrt.dll_strcpy
lea eax, [ebp - 0x3008]
mov dword [esp + 4], eax
mov dword [esp], 0x406338
call sub.msvcrt.dll_strcpy
mov dword [esp + 4], 0x406008
mov dword [esp], str.SoftwareJavaSoftJava_Development_Kit
call fcn.004020fa
test eax, eax
je 0x40146a
mov dword [esp + 4], 0x406008
mov dword [esp], str.SoftwareJavaSoftJava_Runtime_Environment
call fcn.004020fa
test eax, eax
je 0x40146a
mov dword [esp], str.JAVA_HOME
call sub.msvcrt.dll_getenv
mov dword [ebp - 0x3010], eax
cmp dword [ebp - 0x3010], 0
je 0x40146a
mov eax, dword [ebp - 0x3010]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x405065
mov dword [esp], 0x406008
call sub.msvcrt.dll_sprintf
mov eax, dword [ebp + 0xc]
add eax, 4
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
dec eax
mov dword [esp], eax
call fcn.00402a3a
cmp dword [0x407798], 0
jne 0x401664
cmp dword [0x4077a8], 0
jne 0x401664
mov eax, dword [ebp + 8]
shl eax, 2
add eax, 0x20
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov dword [ebp - 0x3010], eax
cmp byte [0x406228], 0
jne 0x4014d2
mov dword [esp], str.Need_to_specify_userdir_using_command_line_option___userdir
call fcn.00402948
mov dword [esp], 1
call sub.msvcrt.dll_exit
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov dword [esp + 8], eax
mov dword [esp + 4], str.__s_
lea eax, [ebp - 0x3008]
mov dword [esp], eax
call sub.msvcrt.dll_sprintf
lea eax, [ebp - 0x3008]
mov dword [esp], eax
call sub.msvcrt.dll__strdup
mov edx, eax
mov eax, dword [ebp - 0x3010]
mov dword [eax], edx
mov dword [ebp - 0x3014], 1
mov eax, dword [ebp - 0x3014]
cmp eax, dword [ebp + 8]
jge 0x401579
mov eax, dword [ebp - 0x3014]
lea edx, [eax*4]
mov eax, dword [ebp + 0xc]
mov eax, dword [edx + eax]
mov dword [esp + 8], eax
mov dword [esp + 4], str.__s_
lea eax, [ebp - 0x3008]
mov dword [esp], eax
call sub.msvcrt.dll_sprintf
lea eax, [ebp - 0x3008]
mov dword [esp], eax
call sub.msvcrt.dll__strdup
mov edx, eax
mov eax, dword [ebp - 0x3014]
shl eax, 2
add eax, dword [ebp - 0x3010]
add eax, 4
mov dword [eax], edx
lea eax, [ebp - 0x3014]
inc dword [eax]
jmp 0x401513
lea eax, [ebp - 0x3014]
inc dword [eax]
mov eax, dword [ebp - 0x3014]
lea edx, [eax*4]
mov eax, dword [ebp - 0x3010]
mov dword [edx + eax], 0
mov dword [esp], 1
call fcn.004016dc
mov byte [ebp - 0x3015], al
cmp byte [ebp - 0x3015], 0
je 0x4015e5
mov eax, dword [ebp - 0x3010]
add eax, 4
mov dword [eax], str._run_updater
mov eax, dword [ebp - 0x3010]
mov dword [esp + 8], eax
lea eax, [ebp - 0x1008]
mov dword [esp + 4], eax
mov dword [esp], 0
call sub.msvcrt.dll__spawnv
mov eax, dword [ebp - 0x3010]
add eax, 4
mov dword [eax], str._run_normal
mov eax, dword [ebp - 0x3010]
mov dword [esp + 8], eax
lea eax, [ebp - 0x1008]
mov dword [esp + 4], eax
mov dword [esp], 0
call sub.msvcrt.dll__spawnv
mov dword [esp], 0
call fcn.004016dc
mov byte [ebp - 0x3015], al
cmp byte [ebp - 0x3015], 0
je 0x4016d4
mov eax, dword [ebp - 0x3010]
add eax, 4
mov dword [eax], str._run_updater
mov eax, dword [ebp - 0x3010]
mov dword [esp + 8], eax
lea eax, [ebp - 0x1008]
mov dword [esp + 4], eax
mov dword [esp], 0
call sub.msvcrt.dll__spawnv
jmp 0x4015e5
cmp dword [0x407798], 0
je 0x4016ad
sub dword [ebp + 8], 2
lea eax, [ebp + 0xc]
add dword [eax], 8
cmp dword [0x407788], 0
je 0x401697
mov dword [esp + 4], 1
mov eax, dword [0x407788]
mov dword [esp], eax
call fcn.004019c0
jmp 0x4016d4
mov dword [esp + 4], 1
mov dword [esp], str.org_netbeans_Main
call fcn.004019c0
jmp 0x4016d4
cmp dword [0x4077a8], 0
je 0x4016d4
sub dword [ebp + 8], 2
lea eax, [ebp + 0xc]
add dword [eax], 8
mov dword [esp + 4], 0
mov dword [esp], str.org_netbeans_updater_UpdaterFrame
call fcn.004019c0
mov eax, 0
leave
ret