Function at 0x401b77
Capabilities:
Terminate process
Write file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x6264
call fcn.0041bc70
mov eax, dword [0x436504]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x6230], eax
mov eax, dword [ebp + 0x18]
push ebx
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x6258], eax
mov eax, dword [ebp + 0x1c]
push esi
push edi
mov dword [ebp - 0x6244], eax
mov eax, dword [ebp + 0x24]
mov esi, edx
push str.Launching
mov dword [ebp - 0x624c], ebx
mov edi, ecx
mov dword [ebp - 0x6224], esi
mov dword [ebp - 0x6260], eax
call fcn.0040870a
pop ecx
push esi
push dword [ebp + 0x20]
push ebx
push edi
push str._Extractor__Launching__s_from_master_folder__s_of_class__d_using_JRE__s_n
call fcn.0040855c
add esp, 0x14
mov esi, 0xfa0
push esi
call fcn.00417090
and dword [ebp - 0x6238], 0
pop ecx
push esi
mov dword [ebp - 0x6254], eax
call fcn.00417090
pop ecx
mov dword [ebp - 0x6248], eax
push edi
push ebx
lea eax, [ebp - 0x4e90]
call fcn.00408520
push str.JWrapperLaunch
push edi
push ebx
lea eax, [ebp - 0x6218]
call fcn.0040853e
add esp, 0x14
lea eax, [ebp - 0x6218]
push 0x42eb08
push eax
call fcn.00418580
mov edi, eax
test edi, edi
pop ecx
pop ecx
mov dword [ebp - 0x6228], edi
jne 0x401c67
lea eax, [ebp - 0x6218]
push eax
push str.Unable_to_open_launch_file__s_n
call fcn.0040860d
pop ecx
pop ecx
push 1
call fcn.00418021
mov esi, 0x7d0
push esi
call fcn.00417090
pop ecx
push esi
xor esi, esi
mov ebx, eax
push esi
push ebx
call fcn.00418720
add esp, 0xc
push edi
call fcn.00407d4f
pop ecx
push edi
mov dword [ebp - 0x6234], eax
call fcn.00407d3e
pop ecx
push edi
mov dword [ebp - 0x625c], eax
call fcn.00407d3e
pop ecx
push edi
call fcn.00407d3e
pop ecx
push edi
mov dword [ebp - 0x6250], eax
call fcn.00407d3e
pop ecx
push edi
call fcn.00407d4f
pop ecx
push edi
call fcn.00407d4f
pop ecx
push edi
mov dword [ebp - 0x622c], eax
call fcn.00407d4f
pop ecx
push dword [ebp - 0x6224]
mov dword [ebp - 0x621c], eax
push dword [ebp - 0x624c]
mov dword [ebp - 0x6220], esi
call fcn.0040877f
cmp dword [ebp + 0x20], esi
pop ecx
mov edi, eax
pop ecx
mov dword [ebp - 0x6264], edi
jne 0x401e36
test edi, edi
je 0x401e27
push edi
push str._Extractor__Using_private_JRE__s_n
call fcn.0040855c
push 0x42e6ac
push edi
push dword [ebp - 0x624c]
lea eax, [ebp - 0x2780]
call fcn.0040853e
add esp, 0x14
lea eax, [ebp - 0x2780]
push str.javaw.exe
push eax
lea eax, [ebp - 0x13f8]
call fcn.00408520
push dword [ebp - 0x6250]
lea esi, [ebp - 0x2780]
call fcn.004084da
add esp, 0xc
mov eax, esi
push str..exe
push eax
call fcn.004172c0
mov eax, esi
push eax
call fcn.00408161
add esp, 0xc
test eax, eax
jne 0x401dbd
mov eax, esi
push eax
push str._Extractor__Copying_FILE__s_n
call fcn.0040855c
lea eax, [ebp - 0x13f8]
push 0x42eb08
push eax
call fcn.00418580
add esp, 0x10
test eax, eax
jne 0x401dae
lea eax, [ebp - 0x13f8]
push eax
push str._Extractor___Unable_to_open_source_file_for_copy__s_n
call fcn.0040855c
jmp 0x401dbb
push eax
lea eax, [ebp - 0x2780]
push eax
call fcn.0040175b
pop ecx
pop ecx
push edi
call fcn.00417220
or dword [ebp - 0x6240], 0xffffffff
pop ecx
xor ecx, ecx
test eax, eax
jle 0x401de2
cmp byte [ecx + edi], 0x5c
jne 0x401ddd
mov dword [ebp - 0x6240], ecx
inc ecx
cmp ecx, eax
jl 0x401dd1
push 0x2710
call fcn.00417090
mov dword [esp], str.JRE_LastSuccessfulOptions_
push str.JWApps
push dword [ebp - 0x624c]
mov esi, eax
mov dword [ebp - 0x6220], esi
call fcn.0040853e
mov eax, dword [ebp - 0x6240]
add esp, 0xc
lea eax, [eax + edi + 1]
push eax
push esi
call fcn.004172c0
push esi
push str._Extractor__JRE_LSO_file_is__s_n
jmp 0x401e61
push str.No_private_JRE_available__n
call fcn.0040860d
jmp 0x401c5f
cmp dword [ebp + 0x20], 1
jne 0x401e69
push dword [ebp - 0x6224]
lea eax, [ebp - 0x2780]
push eax
mov byte [ebp - 0x2780], 0
call fcn.004172c0
lea eax, [ebp - 0x2780]
push eax
push str._Extractor__Checking_for_existing_system_JRE__s_n
call fcn.0040855c
add esp, 0x10
xor edi, edi
lea eax, [ebp - 0x2780]
inc edi
cmp dword [ebp - 0x622c], 0
mov dword [ebx], eax
jle 0x401ee1
push 0x64
call fcn.00417090
mov esi, eax
mov dword [esp], str._Xmx
push esi
mov byte [esi], 0
call fcn.004172c0
push dword [ebp - 0x622c]
lea eax, [ebp - 0x70]
push 0x42ef40
push eax
mov byte [ebp - 0x70], 0
call fcn.00417cc2
add esp, 0x14
lea eax, [ebp - 0x70]
push eax
push esi
call fcn.004172c0
push 0x42ef44
push esi
call fcn.004172c0
mov eax, dword [ebp - 0x6248]
add esp, 0x10
push 2
mov dword [ebx + 4], esi
pop edi
mov dword [eax], esi
mov dword [ebp - 0x6238], 1
cmp dword [ebp - 0x621c], 0
jle 0x401f4f
push 0x64
call fcn.00417090
mov esi, eax
mov dword [esp], str._Xms
push esi
mov byte [esi], 0
call fcn.004172c0
push dword [ebp - 0x621c]
lea eax, [ebp - 0x70]
push 0x42ef40
push eax
mov byte [ebp - 0x70], 0
call fcn.00417cc2
add esp, 0x14
lea eax, [ebp - 0x70]
push eax
push esi
call fcn.004172c0
push 0x42ef44
push esi
call fcn.004172c0
mov ecx, dword [ebp - 0x6238]
mov eax, dword [ebp - 0x6248]
add esp, 0x10
mov dword [ebx + edi*4], esi
inc edi
inc dword [ebp - 0x6238]
mov dword [eax + ecx*4], esi
mov dword [ebx + edi*4], 0x42ef50
push str._Extractor__Building_classpath_n
inc edi
call fcn.0040855c
mov dword [esp], 0xc350
call fcn.00417090
pop ecx
push dword [ebp - 0x6228]
mov esi, eax
mov byte [esi], 0
call fcn.00407d4f
mov dword [ebp - 0x6240], eax
pop ecx
shl eax, 2
push eax
call fcn.00417090
and dword [ebp - 0x621c], 0
cmp dword [ebp - 0x6240], 0
pop ecx
mov dword [ebp - 0x6250], eax
jle 0x40204b
cmp dword [ebp - 0x621c], 0
jle 0x401fbf
push 0x42ef74
push esi
call fcn.004172c0
pop ecx
pop ecx
push dword [ebp - 0x6228]
call fcn.00407d3e
pop ecx
mov dword [ebp - 0x622c], eax
lea eax, [ebp - 0x4e90]
push eax
push esi
call fcn.004172c0
push dword [ebp - 0x622c]
call fcn.004084da
mov eax, dword [ebp - 0x622c]
add esp, 0xc
call fcn.0040850f
push 0x3e8
call fcn.00417090
pop ecx
push dword [ebp - 0x622c]
lea ecx, [ebp - 0x4e90]
push ecx
mov dword [ebp - 0x623c], eax
call fcn.00408520
mov edx, dword [ebp - 0x623c]
pop ecx
pop ecx
mov eax, edx
call fcn.0040850f
mov eax, dword [ebp - 0x621c]
mov ecx, dword [ebp - 0x6250]
mov dword [ecx + eax*4], edx
inc eax
cmp eax, dword [ebp - 0x6240]
mov dword [ebp - 0x621c], eax
jl 0x401fa9
mov eax, esi
call fcn.0040850f
mov dword [ebx + edi*4], esi
inc edi
push str._Extractor__Creating_launch_properties_n
mov dword [ebp - 0x623c], edi
call fcn.0040855c
pop ecx
push dword [ebp - 0x6230]
call fcn.00407bda
pop ecx
add eax, 0x30d40
push eax
call fcn.00417090
pop ecx
push dword [ebp - 0x6230]
mov esi, eax
mov dword [ebp - 0x622c], esi
mov byte [esi], 0
call fcn.00407bda
pop ecx
inc eax
inc eax
push eax
push dword [ebp - 0x6230]
push esi
call fcn.004177f0
add esp, 0xc
push dword [ebp - 0x6258]
mov eax, esi
push str.update_url
call fcn.00407c82
push 0x42efac
push dword [ebp - 0x6258]
call fcn.00418a20
add esp, 0x10
test eax, eax
jne 0x4020ed
cmp dword [ebp - 0x6244], eax
je 0x4020ed
push dword [ebp - 0x6244]
mov eax, esi
push str.update_url
call fcn.00407caa
pop ecx
pop ecx
lea eax, [ebp - 0x4e90]
push eax
push str.app_dir
mov eax, esi
call fcn.00407c82
push dword [ebp - 0x6224]
mov eax, esi
push str.jre_name
call fcn.00407c82
push dword [ebp - 0x6260]
mov eax, esi
push str.launched_from_dynprops
call fcn.00407c82
push str._Extractor__Checking_LSO_file_n
call fcn.0040855c
add esp, 0x1c
cmp dword [ebp - 0x6220], 0
je 0x402347
push dword [ebp - 0x6220]
push str._Extractor__Reading__s_n
call fcn.0040855c
push 0x42eb08
push dword [ebp - 0x6220]
call fcn.00418580
push dword [ebp - 0x6220]
and dword [ebp - 0x621c], 0
mov dword [ebp - 0x6230], eax
call fcn.00408161
add esp, 0x14
test eax, eax
je 0x4021d3
cmp dword [ebp - 0x6230], 0
jne 0x4021e0
cmp dword [ebp - 0x621c], 5
jge 0x402340
push dword [ebp - 0x621c]
push str._Extractor__LSO_file_does_exist._Retrying___d_...
call fcn.0040855c
push 0x42eb08
push dword [ebp - 0x6220]
call fcn.00418580
add esp, 0x10
test eax, eax
mov dword [ebp - 0x6230], eax
jne 0x4021e0
inc dword [ebp - 0x621c]
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x402186
cmp dword [ebp - 0x6230], 0
je 0x402340
push str._Extractor__JRE_LSO_file_exists_n
call fcn.0040855c
mov dword [esp], 0x1388
lea eax, [ebp - 0x13f8]
push 0
push eax
call fcn.00418720
add esp, 0xc
push dword [ebp - 0x6230]
call fcn.00407d4f
pop ecx
push eax
push str._Extractor__Found__ld_JVM_Options_n
mov dword [ebp - 0x6224], eax
call fcn.0040855c
push dword [ebp - 0x6224]
lea eax, [ebp - 0x13f8]
push 0x42f090
push eax
call fcn.00417cc2
add esp, 0x14
lea eax, [ebp - 0x13f8]
push eax
push str.jvm_options_count
mov eax, esi
call fcn.00407c82
and dword [ebp - 0x621c], 0
cmp dword [ebp - 0x6224], 0
pop ecx
pop ecx
jle 0x402333
push dword [ebp - 0x6230]
call fcn.00407d3e
mov ecx, dword [ebp - 0x6238]
mov esi, eax
mov eax, dword [ebp - 0x6248]
mov dword [eax + ecx*4], esi
mov dword [esp], 0x1388
lea eax, [ebp - 0x13f8]
mov dword [ebx + edi*4], esi
push 0
inc edi
inc dword [ebp - 0x6238]
push eax
call fcn.00418720
add esp, 0xc
push dword [ebp - 0x621c]
lea eax, [ebp - 0x13f8]
push str.jvm_options__d
push eax
call fcn.00417cc2
add esp, 0xc
push esi
call fcn.00417220
cmp eax, 0x64
pop ecx
jae 0x4022d5
push esi
lea eax, [ebp - 0x13f8]
push eax
push str._Extractor__Launch_Prop:__s___s_n
jmp 0x4022f8
push 0x63
lea eax, [ebp - 0x70]
push esi
push eax
call fcn.004185f0
add esp, 0xc
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x13f8]
push eax
mov byte [ebp - 0xd], 0
push str._Extractor__Launch_Prop:__s___s..._n
call fcn.0040855c
add esp, 0xc
lea eax, [ebp - 0x13f8]
push esi
push eax
mov eax, dword [ebp - 0x622c]
call fcn.00407c82
inc dword [ebp - 0x621c]
mov eax, dword [ebp - 0x621c]
cmp eax, dword [ebp - 0x6224]
pop ecx
pop ecx
jl 0x402262
mov dword [ebp - 0x623c], edi
push dword [ebp - 0x6230]
call fcn.0041a09f
jmp 0x402351
push str.JRE_LSO_file_does_not_exist_n
jmp 0x40234c
push str.Not_a_private_JRE__no_need_to_check_for_LSO_file__n
call fcn.0040860d
mov esi, dword [ebp - 0x623c]
pop ecx
mov dword [ebp - 0x623c], esi
push str._Extractor__Writing_launch_properties_file_n
inc esi
call fcn.0040855c
pop ecx
lea eax, [ebp - 0x4e90]
push eax
lea edi, [ebp - 0x3b08]
mov byte [ebp - 0x3b08], 0
call fcn.00401ae6
pop ecx
mov eax, edi
push eax
push str._Extractor__Writing_launch_properties_to__s_n
call fcn.0040855c
push dword [ebp - 0x622c]
call fcn.00407bda
add esp, 0xc
push eax
push str._Extractor__Launch_properties_length_is__d_n
call fcn.0040855c
mov eax, edi
push 0x42eb60
push eax
call fcn.00418580
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x40242f
and dword [ebp - 0x6224], eax
lea eax, [ebp - 0x4e90]
push eax
lea edi, [ebp - 0x3b08]
mov byte [ebp - 0x3b08], 0
call fcn.00401ae6
pop ecx
mov eax, edi
push eax
push str._Retry__Writing_launch_properties_to__s_n
call fcn.0040855c
mov eax, edi
push 0x42eb60
push eax
call fcn.00418580
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x40242f
inc dword [ebp - 0x6224]
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebp - 0x6224], 5
jl 0x4023c6
push str.Unable_to_write_Launch_Properties_file__Cannot_run__n
call fcn.0040860d
pop ecx
push 0x63
jmp 0x401c62
push str._Extractor__Writing_to_file_n
call fcn.0040855c
pop ecx
push edi
push dword [ebp - 0x622c]
call fcn.00407bda
pop ecx
push eax
push 1
push dword [ebp - 0x622c]
call fcn.004197bc
push edi
call fcn.004182e9
add esp, 0x14
push edi
call fcn.0041a09f
mov dword [esp], str._Extractor__Finished_writing_launch_properties_file_n
call fcn.0040855c
pop ecx
mov ecx, dword [ebp - 0x6254]
push dword [ebp - 0x6228]
lea eax, [ebp - 0x3b08]
mov dword [ebx + esi*4], eax
inc esi
mov dword [ecx], eax
mov dword [ebp - 0x6220], 1
call fcn.00407d4f
pop ecx
mov edi, eax
push edi
push str._Extractor__Reading__ld_extra_args_n
call fcn.0040855c
test edi, edi
pop ecx
pop ecx
jle 0x4024d4
push dword [ebp - 0x6228]
call fcn.00407d3e
mov edx, dword [ebp - 0x6220]
mov dword [ebx + esi*4], eax
inc esi
inc dword [ebp - 0x6220]
dec edi
pop ecx
mov ecx, dword [ebp - 0x6254]
mov dword [ecx + edx*4], eax
jne 0x4024ac
and dword [ebp - 0x6244], 0
cmp dword [ebp - 0x6234], 3
jl 0x402503
push dword [ebp - 0x6228]
call fcn.00407d3e
pop ecx
push eax
push str._Extractor__Read_JRE_compatibility_class__s_n
mov dword [ebp - 0x6244], eax
call fcn.0040855c
pop ecx
pop ecx
cmp dword [ebp - 0x6234], 4
jl 0x402524
push dword [ebp - 0x6228]
call fcn.00407d3e
pop ecx
push dword [ebp - 0x6228]
call fcn.00407d3e
pop ecx
cmp dword [ebp - 0x6234], 5
jl 0x40254e
push dword [ebp - 0x6228]
call fcn.00407d4f
test eax, eax
pop ecx
jle 0x40254e
mov edi, eax
push dword [ebp - 0x6228]
call fcn.00407d3e
dec edi
pop ecx
jne 0x40253f
cmp dword [ebp - 0x6234], 6
jl 0x402563
push dword [ebp - 0x6228]
call fcn.00407d4f
pop ecx
cmp dword [ebp + 0x20], 0
jne 0x402571
mov ecx, dword [ebp - 0x625c]
jmp 0x40257d
cmp dword [ebp + 0x20], 1
jne 0x402586
mov ecx, dword [ebp - 0x6244]
mov eax, dword [ebp - 0x623c]
mov dword [ebx + eax*4], ecx
push dword [ebp + 0x10]
push str._Extractor__Appending__d_command_line_args_n
call fcn.0040855c
pop ecx
pop ecx
xor ecx, ecx
cmp dword [ebp + 0x10], ecx
jle 0x4025c5
mov eax, dword [ebp + 0x14]
mov edi, dword [ebp - 0x6220]
lea eax, [eax + ecx*4]
mov edx, dword [eax]
mov dword [ebx + esi*4], edx
mov eax, dword [eax]
mov edx, dword [ebp - 0x6254]
inc esi
inc dword [ebp - 0x6220]
inc ecx
cmp ecx, dword [ebp + 0x10]
mov dword [edx + edi*4], eax
jl 0x40259c
lea eax, [ebp - 0x2780]
push eax
lea edi, [ebx + esi*4]
and dword [edi], 0
push str._Extractor__Executable:__s_n
call fcn.0040855c
and dword [ebp - 0x6234], 0
test esi, esi
pop ecx
pop ecx
jle 0x40260e
mov eax, dword [ebp - 0x6234]
push dword [ebx + eax*4]
push eax
push str._Extractor__Argument__d:__s_n
call fcn.0040855c
add esp, 0xc
inc dword [ebp - 0x6234]
cmp dword [ebp - 0x6234], esi
jl 0x4025e9
push dword [ebp + 0x20]
xor esi, esi
push str._Extractor__This_is_a_newer_extractor..._launchclass_is__d_n
mov dword [edi], esi
call fcn.0040855c
push dword [ebp - 0x6228]
call fcn.0041a09f
add esp, 0xc
cmp dword [ebp + 0x20], esi
jne 0x402759
push dword [ebp - 0x6264]
lea eax, [ebp - 0x13f8]
push dword [ebp - 0x624c]
call fcn.00408520
lea eax, [ebp - 0x13f8]
push eax
push str._Extractor__JRE_folder_is__s_n
call fcn.0040855c
add esp, 0x10
cmp dword [0x539ff0], esi
jne 0x4026e4
push esi
push str._Extractor__Force_spawn_is__d_so_attempting_to_launch_via_JNI_n
call fcn.0040855c
mov esi, str.JNI_Launch_n
push esi
call fcn.0040870a
mov ecx, dword [ebp - 0x6254]
mov edx, dword [ebp - 0x6248]
add esp, 0xc
push dword [ebp - 0x6220]
lea eax, [ebp - 0x13f8]
push dword [ebp - 0x6250]
push dword [ebp - 0x6240]
push dword [ebp - 0x6238]
push eax
push dword [ebp - 0x625c]
call fcn.004065a1
mov edi, eax
push edi
push str._Extractor__Return_code_for_JNI_launch_was__d_n
call fcn.0040855c
push esi
call fcn.00408732
add esp, 0x24
test edi, edi
jne 0x4026d9
xor eax, eax
jmp 0x4027c4
push str._Extractor__JNI_launch_failed._Attempting_legacy_spawn_instead_n
call fcn.0040855c
pop ecx
push str._Extractor__Attempting_spawn_launch_n
call fcn.0040855c
mov dword [esp], str.Spawn_launch_n
call fcn.0040870a
pop ecx
call fcn.0040875a
call fcn.00406d15
push dword [ebx]
mov edi, eax
push edi
call fcn.00406d6e
mov edx, dword [ebx + 4]
pop ecx
xor esi, esi
pop ecx
inc esi
jmp 0x402724
mov ecx, edi
call fcn.00406d43
inc esi
mov edx, dword [ebx + esi*4]
test edx, edx
jne 0x402719
call fcn.00406f1b
mov edi, eax
test edi, edi
je 0x402753
mov esi, 0x42f4a8
push esi
call fcn.0040855c
pop ecx
push edi
push str._ERROR__Attempt_to_launch_app_failed_with_return_code__ld___app_likely_did_not_launch_at_all__n
call fcn.0040855c
push esi
call fcn.0040855c
add esp, 0xc
push edi
jmp 0x401c62
xor esi, esi
inc esi
cmp dword [ebp + 0x20], esi
jne 0x4027c1
call fcn.0040875a
call fcn.00406d15
push dword [ebx]
mov edi, eax
push edi
call fcn.00406d6e
mov edx, dword [ebx + 4]
pop ecx
pop ecx
jmp 0x402787
mov ecx, edi
call fcn.00406d43
inc esi
mov edx, dword [ebx + esi*4]
test edx, edx
jne 0x40277c
call fcn.00406d9d
push edi
mov ebx, eax
call fcn.00416fb3
test ebx, ebx
pop ecx
je 0x4027bd
mov esi, 0x42f4a8
push esi
call fcn.0040855c
pop ecx
push ebx
push str._ERROR__Attempt_to_launch_app_failed_with_return_code__ld___app_likely_did_not_launch_at_all__n
call fcn.0040855c
push esi
call fcn.0040855c
add esp, 0xc
mov eax, ebx
jmp 0x4027c4
or eax, 0xffffffff
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00416fa4
leave
ret