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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x6264
call fcn.0041ef20
mov eax, dword [0x448504]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x621c], eax
mov eax, dword [ebp + 0x18]
push ebx
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x6244], eax
mov eax, dword [ebp + 0x1c]
push esi
push edi
mov dword [ebp - 0x6240], eax
mov eax, dword [ebp + 0x24]
mov esi, edx
push str.Launching
mov dword [ebp - 0x6264], ebx
mov edi, ecx
mov dword [ebp - 0x6224], esi
mov dword [ebp - 0x6254], eax
call fcn.0040a036
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.00409e88
add esp, 0x14
mov esi, 0xfa0
push esi
call fcn.00418b47
and dword [ebp - 0x6220], 0
pop ecx
push esi
mov dword [ebp - 0x6238], eax
call fcn.00418b47
pop ecx
mov dword [ebp - 0x6234], eax
push edi
push ebx
lea eax, [ebp - 0x4e90]
call fcn.00409e01
push str.JWrapperLaunch
push edi
push ebx
lea eax, [ebp - 0x6218]
call fcn.00409e1f
add esp, 0x14
lea eax, [ebp - 0x6218]
push 0x44004c
push eax
call fcn.00419fb0
mov edi, eax
test edi, edi
pop ecx
pop ecx
mov dword [ebp - 0x6230], edi
jne 0x401fbb
lea eax, [ebp - 0x6218]
push eax
push str.Unable_to_open_launch_file__s_n
call fcn.00409f39
pop ecx
pop ecx
push 1
call fcn.00419b88
push edi
call fcn.0040864c
pop ecx
push edi
mov dword [ebp - 0x624c], eax
call fcn.0040863b
pop ecx
push edi
mov dword [ebp - 0x625c], eax
call fcn.0040863b
pop ecx
push edi
call fcn.0040863b
pop ecx
push edi
mov dword [ebp - 0x622c], eax
call fcn.0040863b
pop ecx
push edi
call fcn.0040864c
pop ecx
push edi
call fcn.0040864c
pop ecx
push edi
mov dword [ebp - 0x6258], eax
call fcn.0040864c
and dword [ebp - 0x6250], 0
pop ecx
push dword [ebp - 0x6224]
mov dword [ebp - 0x6228], eax
push ebx
call fcn.0040a1df
cmp dword [ebp + 0x20], 0
pop ecx
pop ecx
mov dword [ebp - 0x6248], eax
jne 0x402192
test eax, eax
je 0x402183
push eax
push str._Extractor__Using_private_JRE__s_n
call fcn.00409e88
push 0x43fc7c
push dword [ebp - 0x6248]
lea eax, [ebp - 0x2780]
push ebx
call fcn.00409e1f
add esp, 0x14
lea eax, [ebp - 0x2780]
push str.windowslauncher.exe
push eax
lea eax, [ebp - 0x13f8]
call fcn.00409e01
pop ecx
pop ecx
lea esi, [ebp - 0x13f8]
call fcn.0040972d
test eax, eax
jne 0x4020a0
lea eax, [ebp - 0x2780]
push str.javaw.exe
push eax
mov eax, esi
call fcn.00409e01
pop ecx
pop ecx
push dword [ebp - 0x622c]
lea esi, [ebp - 0x2780]
call fcn.00409d82
mov eax, esi
mov dword [esp], str..exe
push eax
call fcn.00418d70
pop ecx
pop ecx
call fcn.0040972d
test eax, eax
jne 0x402112
mov eax, esi
push eax
push str._Extractor__Copying_FILE__s_n
call fcn.00409e88
lea eax, [ebp - 0x13f8]
push 0x44004c
push eax
call fcn.00419fb0
add esp, 0x10
test eax, eax
jne 0x402103
lea eax, [ebp - 0x13f8]
push eax
push str._Extractor___Unable_to_open_source_file_for_copy__s_n
call fcn.00409e88
jmp 0x402110
push eax
lea eax, [ebp - 0x2780]
push eax
call fcn.004019e8
pop ecx
pop ecx
mov esi, dword [ebp - 0x6248]
push esi
call fcn.00418cd0
or dword [ebp - 0x622c], 0xffffffff
pop ecx
xor ecx, ecx
test eax, eax
jle 0x40213d
cmp byte [ecx + esi], 0x5c
jne 0x402138
mov dword [ebp - 0x622c], ecx
inc ecx
cmp ecx, eax
jl 0x40212c
push 0x2710
call fcn.00418b47
mov dword [esp], str.JRE_LastSuccessfulOptions_
mov esi, eax
push str.JWApps
push ebx
mov dword [ebp - 0x6250], esi
call fcn.00409e1f
mov ecx, dword [ebp - 0x6248]
mov eax, dword [ebp - 0x622c]
add esp, 0xc
lea eax, [eax + ecx + 1]
push eax
push esi
call fcn.00418d70
push esi
push str._Extractor__JRE_LSO_file_is__s_n
jmp 0x4021bd
push str.No_private_JRE_available__n
call fcn.00409f39
jmp 0x401fb3
cmp dword [ebp + 0x20], 1
jne 0x4021c5
push dword [ebp - 0x6224]
lea eax, [ebp - 0x2780]
push eax
mov byte [ebp - 0x2780], 0
call fcn.00418d70
lea eax, [ebp - 0x2780]
push eax
push str._Extractor__Checking_for_existing_system_JRE__s_n
call fcn.00409e88
add esp, 0x10
cmp dword [ebp - 0x6258], 0
jle 0x402200
push 0x64
call fcn.00418b47
pop ecx
push 0
push dword [ebp - 0x6258]
mov esi, eax
push str._Xmx_dm_c
push esi
call fcn.0041980d
mov eax, dword [ebp - 0x6234]
add esp, 0x10
mov dword [eax], esi
mov dword [ebp - 0x6220], 1
cmp dword [ebp - 0x6228], 0
jle 0x40223e
push 0x64
call fcn.00418b47
pop ecx
push 0
push dword [ebp - 0x6228]
mov esi, eax
push str._Xms_dm_c
push esi
call fcn.0041980d
mov ecx, dword [ebp - 0x6220]
mov eax, dword [ebp - 0x6234]
add esp, 0x10
inc dword [ebp - 0x6220]
mov dword [eax + ecx*4], esi
push str._Extractor__Building_classpath_n
call fcn.00409e88
pop ecx
push edi
call fcn.0040864c
mov ebx, eax
pop ecx
shl eax, 2
push eax
mov dword [ebp - 0x623c], ebx
call fcn.00418b47
xor esi, esi
test ebx, ebx
pop ecx
mov dword [ebp - 0x622c], eax
jle 0x4022bc
push edi
call fcn.0040863b
pop ecx
mov dword [ebp - 0x6260], eax
call fcn.00409df0
push 0x3e8
call fcn.00418b47
pop ecx
push dword [ebp - 0x6260]
mov ebx, eax
lea eax, [ebp - 0x4e90]
push eax
mov eax, ebx
call fcn.00409e01
pop ecx
pop ecx
mov eax, ebx
call fcn.00409df0
mov eax, dword [ebp - 0x622c]
mov dword [eax + esi*4], ebx
inc esi
cmp esi, dword [ebp - 0x623c]
jl 0x40226e
push str._Extractor__Creating_launch_properties_n
call fcn.00409e88
pop ecx
push dword [ebp - 0x621c]
call fcn.004084d7
pop ecx
add eax, 0x30d40
push eax
call fcn.00418b47
pop ecx
push dword [ebp - 0x621c]
mov ebx, eax
mov byte [ebx], 0
call fcn.004084d7
pop ecx
inc eax
inc eax
push eax
push dword [ebp - 0x621c]
push ebx
call fcn.004192a0
add esp, 0xc
push dword [ebp - 0x6244]
mov esi, str.update_url
push esi
mov eax, ebx
call fcn.0040857f
push 0x4404f4
push dword [ebp - 0x6244]
call fcn.0041a450
add esp, 0x10
test eax, eax
jne 0x402344
cmp dword [ebp - 0x6240], eax
je 0x402344
push dword [ebp - 0x6240]
mov eax, ebx
push esi
call fcn.004085a7
pop ecx
pop ecx
lea eax, [ebp - 0x4e90]
push eax
push str.app_dir
mov eax, ebx
call fcn.0040857f
push dword [ebp - 0x6224]
mov eax, ebx
push str.jre_name
call fcn.0040857f
push dword [ebp - 0x6254]
mov eax, ebx
push str.launched_from_dynprops
call fcn.0040857f
push str._Extractor__Checking_LSO_file_n
call fcn.00409e88
add esp, 0x1c
cmp dword [ebp - 0x6250], 0
je 0x402576
mov esi, dword [ebp - 0x6250]
push esi
push str._Extractor__Reading__s_n
call fcn.00409e88
mov edi, 0x44004c
push edi
push esi
call fcn.00419fb0
and dword [ebp - 0x621c], 0
add esp, 0x10
mov dword [ebp - 0x6224], eax
call fcn.0040972d
test eax, eax
je 0x40241d
cmp dword [ebp - 0x6224], 0
jne 0x40242a
cmp dword [ebp - 0x621c], 5
jge 0x40256f
push dword [ebp - 0x621c]
push str._Extractor__LSO_file_does_exist._Retrying___d_...
call fcn.00409e88
push edi
push dword [ebp - 0x6250]
call fcn.00419fb0
add esp, 0x10
test eax, eax
mov dword [ebp - 0x6224], eax
jne 0x40242a
inc dword [ebp - 0x621c]
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x4023d4
cmp dword [ebp - 0x6224], 0
je 0x40256f
push str._Extractor__JRE_LSO_file_exists_n
call fcn.00409e88
pop ecx
mov edi, 0x1388
push edi
lea eax, [ebp - 0x13f8]
push 0
push eax
call fcn.0041a150
add esp, 0xc
push dword [ebp - 0x6224]
call fcn.0040864c
pop ecx
mov esi, eax
push esi
push str._Extractor__Found__ld_JVM_Options_n
mov dword [ebp - 0x6254], esi
call fcn.00409e88
push esi
lea eax, [ebp - 0x13f8]
push 0x4405d8
push eax
call fcn.0041980d
add esp, 0x14
lea eax, [ebp - 0x13f8]
push eax
push str.jvm_options_count
mov eax, ebx
call fcn.0040857f
and dword [ebp - 0x621c], 0
test esi, esi
pop ecx
pop ecx
jle 0x402562
push dword [ebp - 0x6224]
call fcn.0040863b
pop ecx
mov ecx, dword [ebp - 0x6220]
inc dword [ebp - 0x6220]
mov esi, eax
mov eax, dword [ebp - 0x6234]
push edi
mov dword [eax + ecx*4], esi
lea eax, [ebp - 0x13f8]
push 0
push eax
call fcn.0041a150
add esp, 0xc
push dword [ebp - 0x621c]
lea eax, [ebp - 0x13f8]
push str.jvm_options__d
push eax
call fcn.0041980d
add esp, 0xc
push esi
call fcn.00418cd0
cmp eax, 0x64
pop ecx
jae 0x40250e
push esi
lea eax, [ebp - 0x13f8]
push eax
push str._Extractor__Launch_Prop:__s___s_n
jmp 0x402531
push 0x63
lea eax, [ebp - 0x70]
push esi
push eax
call fcn.0041a020
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.00409e88
add esp, 0xc
lea eax, [ebp - 0x13f8]
push esi
push eax
mov eax, ebx
call fcn.0040857f
inc dword [ebp - 0x621c]
mov eax, dword [ebp - 0x621c]
cmp eax, dword [ebp - 0x6254]
pop ecx
pop ecx
jl 0x4024a4
push dword [ebp - 0x6224]
call fcn.0041b941
jmp 0x402580
push str.JRE_LSO_file_does_not_exist_n
jmp 0x40257b
push str.Not_a_private_JRE__no_need_to_check_for_LSO_file__n
call fcn.00409f39
pop ecx
push str._Extractor__Writing_launch_properties_file_n
call fcn.00409e88
pop ecx
lea eax, [ebp - 0x3b08]
push eax
lea edi, [ebp - 0x4e90]
mov byte [ebp - 0x3b08], 0
call fcn.00401d73
pop ecx
push ebx
call fcn.004084d7
pop ecx
push eax
lea eax, [ebp - 0x3b08]
push eax
push str._Extractor__Writing_launch_properties_to__s__length:__d__n
call fcn.00409e88
add esp, 0xc
mov esi, 0x4400a0
lea eax, [ebp - 0x3b08]
push esi
push eax
call fcn.00419fb0
mov edi, eax
test edi, edi
pop ecx
pop ecx
jne 0x40264f
and dword [ebp - 0x621c], eax
lea eax, [ebp - 0x3b08]
push eax
lea edi, [ebp - 0x4e90]
mov byte [ebp - 0x3b08], 0
call fcn.00401d73
pop ecx
lea eax, [ebp - 0x3b08]
push eax
push str._Retry__Writing_launch_properties_to__s_n
call fcn.00409e88
lea eax, [ebp - 0x3b08]
push esi
push eax
call fcn.00419fb0
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x40264f
inc dword [ebp - 0x621c]
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebp - 0x621c], 5
jl 0x4025e2
push str.Unable_to_write_Launch_Properties_file__Cannot_run__n
call fcn.00409f39
pop ecx
push 0x63
jmp 0x401fb6
push str._Extractor__Writing_to_file_n
call fcn.00409e88
pop ecx
push edi
push ebx
call fcn.004084d7
pop ecx
push eax
push 1
push ebx
call fcn.0041b16a
push edi
call fcn.00419e50
add esp, 0x14
push edi
call fcn.0041b941
mov dword [esp], str._Extractor__Finished_writing_launch_properties_file_n
call fcn.00409e88
pop ecx
mov ecx, dword [ebp - 0x6238]
push dword [ebp - 0x6230]
lea eax, [ebp - 0x3b08]
xor ebx, ebx
mov dword [ecx], eax
inc ebx
call fcn.0040864c
pop ecx
mov esi, eax
push esi
push str._Extractor__Reading__ld_extra_args_n
call fcn.00409e88
test esi, esi
pop ecx
pop ecx
jle 0x4026d0
push dword [ebp - 0x6230]
call fcn.0040863b
pop ecx
mov ecx, dword [ebp - 0x6238]
mov dword [ecx + ebx*4], eax
inc ebx
dec esi
jne 0x4026b7
xor edi, edi
cmp dword [ebp - 0x624c], 3
mov dword [ebp - 0x6244], edi
jl 0x402700
push dword [ebp - 0x6230]
call fcn.0040863b
pop ecx
push eax
push str._Extractor__Read_JRE_compatibility_class__s_n
mov dword [ebp - 0x6244], eax
call fcn.00409e88
pop ecx
pop ecx
cmp dword [ebp - 0x624c], 4
jl 0x402721
push dword [ebp - 0x6230]
call fcn.0040863b
pop ecx
push dword [ebp - 0x6230]
call fcn.0040863b
pop ecx
cmp dword [ebp - 0x624c], 5
jl 0x4027d3
push dword [ebp - 0x6230]
call fcn.0040864c
mov esi, eax
xor eax, eax
cmp dword [ebp - 0x6258], edi
pop ecx
jle 0x402747
inc eax
cmp dword [ebp - 0x6228], edi
jle 0x402750
inc eax
xor ecx, ecx
cmp eax, dword [ebp - 0x6220]
sete cl
mov edi, ecx
push edi
push eax
push dword [ebp - 0x6220]
push str._Extractor__jvmArgCount:_d_emptyArgs:_d_so_addToJVM:_d_n
call fcn.00409e88
push esi
push str._Extractor__Additional_JRE_option_count_is__d_n
call fcn.00409e88
add esp, 0x18
test esi, esi
jle 0x4027d1
mov dword [ebp - 0x6240], esi
push dword [ebp - 0x6230]
call fcn.0040863b
test edi, edi
pop ecx
mov esi, eax
push esi
je 0x4027bd
push str._Extractor__Added_option__s_n
call fcn.00409e88
mov eax, dword [ebp - 0x6234]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x6220]
inc dword [ebp - 0x6220]
mov dword [eax + ecx*4], esi
jmp 0x4027c9
push str._Extractor__Skipping_option__s_n
call fcn.00409e88
pop ecx
pop ecx
dec dword [ebp - 0x6240]
jne 0x402787
xor edi, edi
cmp dword [ebp - 0x624c], 6
jl 0x4027e8
push dword [ebp - 0x6230]
call fcn.0040864c
pop ecx
cmp dword [ebp + 0x20], edi
jne 0x4027f5
mov eax, dword [ebp - 0x625c]
jmp 0x402801
cmp dword [ebp + 0x20], 1
jne 0x402807
mov eax, dword [ebp - 0x6244]
mov dword [ebp - 0x6224], eax
push dword [ebp + 0x10]
push str._Extractor__Appending__d_command_line_args_n
call fcn.00409e88
cmp dword [ebp + 0x10], edi
pop ecx
pop ecx
jle 0x402831
mov eax, dword [ebp - 0x6238]
mov ecx, dword [ebp + 0x10]
mov esi, dword [ebp + 0x14]
lea edi, [eax + ebx*4]
add ebx, dword [ebp + 0x10]
rep movsd dword es:[edi], dword [esi]
xor edi, edi
lea eax, [ebp - 0x2780]
push eax
push str._Extractor___Launch__Executable:__s_n
call fcn.00409e88
push dword [ebp - 0x6224]
push str._Extractor___Launch__Class:__s_n
call fcn.00409e88
add esp, 0x10
xor esi, esi
cmp dword [ebp - 0x6220], edi
jle 0x40287f
mov eax, dword [ebp - 0x6234]
push dword [eax + esi*4]
push esi
push str._Extractor___Launch__JVM_Argument__d:__s_n
call fcn.00409e88
add esp, 0xc
inc esi
cmp esi, dword [ebp - 0x6220]
jl 0x40285f
xor esi, esi
cmp dword [ebp - 0x623c], edi
jle 0x4028a9
mov eax, dword [ebp - 0x622c]
push dword [eax + esi*4]
push esi
push str._Extractor___Launch__ClassPath__d:__s_n
call fcn.00409e88
add esp, 0xc
inc esi
cmp esi, dword [ebp - 0x623c]
jl 0x402889
xor esi, esi
cmp ebx, edi
jle 0x4028cb
mov eax, dword [ebp - 0x6238]
push dword [eax + esi*4]
push esi
push str._Extractor___Launch__App_Argument__d:__s_n
call fcn.00409e88
add esp, 0xc
inc esi
cmp esi, ebx
jl 0x4028af
push dword [ebp + 0x20]
push str._Extractor__This_is_a_newer_extractor..._launchclass_is__d_n
call fcn.00409e88
push dword [ebp - 0x6230]
call fcn.0041b941
add esp, 0xc
cmp dword [ebp + 0x20], edi
jne 0x402a59
push dword [ebp - 0x6248]
lea eax, [ebp - 0x13f8]
push dword [ebp - 0x6264]
call fcn.00409e01
lea eax, [ebp - 0x13f8]
push eax
push str._Extractor__JRE_folder_is__s_n
call fcn.00409e88
add esp, 0x10
cmp dword [0x457db8], edi
jne 0x402999
push 0
push str._Extractor__Force_spawn_is__d_so_attempting_to_launch_via_JNI_n
call fcn.00409e88
mov esi, str.JNI_Launch
push esi
call fcn.0040a036
add esp, 0xc
push dword [ebp - 0x6238]
lea eax, [ebp - 0x13f8]
push ebx
push dword [ebp - 0x622c]
push dword [ebp - 0x623c]
push dword [ebp - 0x6234]
push dword [ebp - 0x6220]
push eax
push dword [ebp - 0x6224]
call fcn.0040636e
mov edi, eax
push edi
push str._Extractor__Return_code_for_JNI_launch_was__d_n
call fcn.00409e88
push esi
call fcn.0040a05e
add esp, 0x2c
test edi, edi
jne 0x40298e
xor eax, eax
jmp 0x402b14
push str._Extractor__JNI_launch_failed._Attempting_legacy_spawn_instead_n
call fcn.00409e88
pop ecx
push str._Extractor__Attempting_spawn_launch_n
call fcn.00409e88
mov dword [esp], str.Spawn_launch
call fcn.0040a036
pop ecx
and dword [ebp - 0x6228], 0
lea eax, [ebp - 0x6228]
push eax
push dword [ebp - 0x6238]
lea eax, [ebp - 0x2780]
push ebx
push dword [ebp - 0x622c]
push dword [ebp - 0x623c]
push dword [ebp - 0x6234]
push dword [ebp - 0x6220]
push dword [ebp - 0x6224]
push eax
call fcn.00401def
add esp, 0x24
mov esi, eax
call fcn.0040a086
call fcn.00407230
push dword [esi]
mov edi, eax
push edi
call fcn.00407289
xor ebx, ebx
inc ebx
cmp dword [ebp - 0x6228], ebx
pop ecx
pop ecx
jle 0x402a28
mov edx, dword [esi + ebx*4]
mov ecx, edi
call fcn.0040725e
inc ebx
cmp ebx, dword [ebp - 0x6228]
jl 0x402a15
call fcn.00407436
mov edi, eax
test edi, edi
je 0x402a53
mov esi, 0x440b08
push esi
call fcn.00409e88
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.00409e88
push esi
call fcn.00409e88
add esp, 0xc
push edi
jmp 0x401fb6
cmp dword [ebp + 0x20], 1
jne 0x402b11
and dword [ebp - 0x6228], 0
lea eax, [ebp - 0x6228]
push eax
push dword [ebp - 0x6238]
lea eax, [ebp - 0x2780]
push ebx
push dword [ebp - 0x622c]
push dword [ebp - 0x623c]
push dword [ebp - 0x6234]
push dword [ebp - 0x6220]
push dword [ebp - 0x6224]
push eax
call fcn.00401def
add esp, 0x24
mov esi, eax
call fcn.0040a086
call fcn.00407230
push dword [esi]
mov edi, eax
push edi
call fcn.00407289
xor ebx, ebx
inc ebx
cmp dword [ebp - 0x6228], ebx
pop ecx
pop ecx
jle 0x402adb
mov edx, dword [esi + ebx*4]
mov ecx, edi
call fcn.0040725e
inc ebx
cmp ebx, dword [ebp - 0x6228]
jl 0x402ac8
call fcn.004072b8
push edi
mov ebx, eax
call fcn.00418a6a
test ebx, ebx
pop ecx
je 0x402b0d
mov esi, 0x440b08
push esi
call fcn.00409e88
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.00409e88
push esi
call fcn.00409e88
add esp, 0xc
mov eax, ebx
jmp 0x402b14
or eax, 0xffffffff
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00418a5b
leave
ret