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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x6264
call fcn.0041ce10
mov eax, dword [0x445504]
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.00409723
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.00409575
add esp, 0x14
mov esi, 0xfa0
push esi
call fcn.00418210
and dword [ebp - 0x6220], 0
pop ecx
push esi
mov dword [ebp - 0x6238], eax
call fcn.00418210
pop ecx
mov dword [ebp - 0x6234], eax
push edi
push ebx
lea eax, [ebp - 0x4e90]
call fcn.00409517
push str.JWrapperLaunch
push edi
push ebx
lea eax, [ebp - 0x6218]
call fcn.00409535
add esp, 0x14
lea eax, [ebp - 0x6218]
push 0x43de68
push eax
call fcn.004194a6
mov edi, eax
test edi, edi
pop ecx
pop ecx
mov dword [ebp - 0x6230], edi
jne 0x401c4d
lea eax, [ebp - 0x6218]
push eax
push str.Unable_to_open_launch_file__s_n
call fcn.00409626
pop ecx
pop ecx
push 1
call fcn.0041907e
push edi
call fcn.00408227
pop ecx
push edi
mov dword [ebp - 0x624c], eax
call fcn.00408216
pop ecx
push edi
mov dword [ebp - 0x625c], eax
call fcn.00408216
pop ecx
push edi
call fcn.00408216
pop ecx
push edi
mov dword [ebp - 0x622c], eax
call fcn.00408216
pop ecx
push edi
call fcn.00408227
pop ecx
push edi
call fcn.00408227
pop ecx
push edi
mov dword [ebp - 0x6258], eax
call fcn.00408227
and dword [ebp - 0x6250], 0
pop ecx
push dword [ebp - 0x6224]
mov dword [ebp - 0x6228], eax
push ebx
call fcn.004098c8
cmp dword [ebp + 0x20], 0
pop ecx
pop ecx
mov dword [ebp - 0x6248], eax
jne 0x401e24
test eax, eax
je 0x401e15
push eax
push str._Extractor__Using_private_JRE__s_n
call fcn.00409575
push 0x43da84
push dword [ebp - 0x6248]
lea eax, [ebp - 0x2780]
push ebx
call fcn.00409535
add esp, 0x14
lea eax, [ebp - 0x2780]
push str.windowslauncher.exe
push eax
lea eax, [ebp - 0x13f8]
call fcn.00409517
pop ecx
pop ecx
lea esi, [ebp - 0x13f8]
call fcn.00409117
test eax, eax
jne 0x401d32
lea eax, [ebp - 0x2780]
push str.javaw.exe
push eax
mov eax, esi
call fcn.00409517
pop ecx
pop ecx
push dword [ebp - 0x622c]
lea esi, [ebp - 0x2780]
call fcn.00409498
mov eax, esi
mov dword [esp], str..exe
push eax
call fcn.00418440
pop ecx
pop ecx
call fcn.00409117
test eax, eax
jne 0x401da4
mov eax, esi
push eax
push str._Extractor__Copying_FILE__s_n
call fcn.00409575
lea eax, [ebp - 0x13f8]
push 0x43de68
push eax
call fcn.004194a6
add esp, 0x10
test eax, eax
jne 0x401d95
lea eax, [ebp - 0x13f8]
push eax
push str._Extractor___Unable_to_open_source_file_for_copy__s_n
call fcn.00409575
jmp 0x401da2
push eax
lea eax, [ebp - 0x2780]
push eax
call fcn.0040167f
pop ecx
pop ecx
mov esi, dword [ebp - 0x6248]
push esi
call fcn.004183a0
or dword [ebp - 0x622c], 0xffffffff
pop ecx
xor ecx, ecx
test eax, eax
jle 0x401dcf
cmp byte [ecx + esi], 0x5c
jne 0x401dca
mov dword [ebp - 0x622c], ecx
inc ecx
cmp ecx, eax
jl 0x401dbe
push 0x2710
call fcn.00418210
mov dword [esp], str.JRE_LastSuccessfulOptions_
mov esi, eax
push str.JWApps
push ebx
mov dword [ebp - 0x6250], esi
call fcn.00409535
mov ecx, dword [ebp - 0x6248]
mov eax, dword [ebp - 0x622c]
add esp, 0xc
lea eax, [eax + ecx + 1]
push eax
push esi
call fcn.00418440
push esi
push str._Extractor__JRE_LSO_file_is__s_n
jmp 0x401e4f
push str.No_private_JRE_available__n
call fcn.00409626
jmp 0x401c45
cmp dword [ebp + 0x20], 1
jne 0x401e57
push dword [ebp - 0x6224]
lea eax, [ebp - 0x2780]
push eax
mov byte [ebp - 0x2780], 0
call fcn.00418440
lea eax, [ebp - 0x2780]
push eax
push str._Extractor__Checking_for_existing_system_JRE__s_n
call fcn.00409575
add esp, 0x10
cmp dword [ebp - 0x6258], 0
jle 0x401e92
push 0x64
call fcn.00418210
pop ecx
push 0
push dword [ebp - 0x6258]
mov esi, eax
push str._Xmx_dm_c
push esi
call fcn.00418d03
mov eax, dword [ebp - 0x6234]
add esp, 0x10
mov dword [eax], esi
mov dword [ebp - 0x6220], 1
cmp dword [ebp - 0x6228], 0
jle 0x401ed0
push 0x64
call fcn.00418210
pop ecx
push 0
push dword [ebp - 0x6228]
mov esi, eax
push str._Xms_dm_c
push esi
call fcn.00418d03
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.00409575
pop ecx
push edi
call fcn.00408227
mov ebx, eax
pop ecx
shl eax, 2
push eax
mov dword [ebp - 0x623c], ebx
call fcn.00418210
xor esi, esi
test ebx, ebx
pop ecx
mov dword [ebp - 0x622c], eax
jle 0x401f4e
push edi
call fcn.00408216
pop ecx
mov dword [ebp - 0x6260], eax
call fcn.00409506
push 0x3e8
call fcn.00418210
pop ecx
push dword [ebp - 0x6260]
mov ebx, eax
lea eax, [ebp - 0x4e90]
push eax
mov eax, ebx
call fcn.00409517
pop ecx
pop ecx
mov eax, ebx
call fcn.00409506
mov eax, dword [ebp - 0x622c]
mov dword [eax + esi*4], ebx
inc esi
cmp esi, dword [ebp - 0x623c]
jl 0x401f00
push str._Extractor__Creating_launch_properties_n
call fcn.00409575
pop ecx
push dword [ebp - 0x621c]
call fcn.004080b2
pop ecx
add eax, 0x30d40
push eax
call fcn.00418210
pop ecx
push dword [ebp - 0x621c]
mov ebx, eax
mov byte [ebx], 0
call fcn.004080b2
pop ecx
inc eax
inc eax
push eax
push dword [ebp - 0x621c]
push ebx
call fcn.00418970
add esp, 0xc
push dword [ebp - 0x6244]
mov esi, str.update_url
push esi
mov eax, ebx
call fcn.0040815a
push 0x43e324
push dword [ebp - 0x6244]
call fcn.00419940
add esp, 0x10
test eax, eax
jne 0x401fd6
cmp dword [ebp - 0x6240], eax
je 0x401fd6
push dword [ebp - 0x6240]
mov eax, ebx
push esi
call fcn.00408182
pop ecx
pop ecx
lea eax, [ebp - 0x4e90]
push eax
push str.app_dir
mov eax, ebx
call fcn.0040815a
push dword [ebp - 0x6224]
mov eax, ebx
push str.jre_name
call fcn.0040815a
push dword [ebp - 0x6254]
mov eax, ebx
push str.launched_from_dynprops
call fcn.0040815a
push str._Extractor__Checking_LSO_file_n
call fcn.00409575
add esp, 0x1c
cmp dword [ebp - 0x6250], 0
je 0x402208
mov esi, dword [ebp - 0x6250]
push esi
push str._Extractor__Reading__s_n
call fcn.00409575
mov edi, 0x43de68
push edi
push esi
call fcn.004194a6
and dword [ebp - 0x621c], 0
add esp, 0x10
mov dword [ebp - 0x6224], eax
call fcn.00409117
test eax, eax
je 0x4020af
cmp dword [ebp - 0x6224], 0
jne 0x4020bc
cmp dword [ebp - 0x621c], 5
jge 0x402201
push dword [ebp - 0x621c]
push str._Extractor__LSO_file_does_exist._Retrying___d_...
call fcn.00409575
push edi
push dword [ebp - 0x6250]
call fcn.004194a6
add esp, 0x10
test eax, eax
mov dword [ebp - 0x6224], eax
jne 0x4020bc
inc dword [ebp - 0x621c]
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x402066
cmp dword [ebp - 0x6224], 0
je 0x402201
push str._Extractor__JRE_LSO_file_exists_n
call fcn.00409575
pop ecx
mov edi, 0x1388
push edi
lea eax, [ebp - 0x13f8]
push 0
push eax
call fcn.00419640
add esp, 0xc
push dword [ebp - 0x6224]
call fcn.00408227
pop ecx
mov esi, eax
push esi
push str._Extractor__Found__ld_JVM_Options_n
mov dword [ebp - 0x6254], esi
call fcn.00409575
push esi
lea eax, [ebp - 0x13f8]
push 0x43e408
push eax
call fcn.00418d03
add esp, 0x14
lea eax, [ebp - 0x13f8]
push eax
push str.jvm_options_count
mov eax, ebx
call fcn.0040815a
and dword [ebp - 0x621c], 0
test esi, esi
pop ecx
pop ecx
jle 0x4021f4
push dword [ebp - 0x6224]
call fcn.00408216
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.00419640
add esp, 0xc
push dword [ebp - 0x621c]
lea eax, [ebp - 0x13f8]
push str.jvm_options__d
push eax
call fcn.00418d03
add esp, 0xc
push esi
call fcn.004183a0
cmp eax, 0x64
pop ecx
jae 0x4021a0
push esi
lea eax, [ebp - 0x13f8]
push eax
push str._Extractor__Launch_Prop:__s___s_n
jmp 0x4021c3
push 0x63
lea eax, [ebp - 0x70]
push esi
push eax
call fcn.00419510
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.00409575
add esp, 0xc
lea eax, [ebp - 0x13f8]
push esi
push eax
mov eax, ebx
call fcn.0040815a
inc dword [ebp - 0x621c]
mov eax, dword [ebp - 0x621c]
cmp eax, dword [ebp - 0x6254]
pop ecx
pop ecx
jl 0x402136
push dword [ebp - 0x6224]
call fcn.0041aeb3
jmp 0x402212
push str.JRE_LSO_file_does_not_exist_n
jmp 0x40220d
push str.Not_a_private_JRE__no_need_to_check_for_LSO_file__n
call fcn.00409626
pop ecx
push str._Extractor__Writing_launch_properties_file_n
call fcn.00409575
pop ecx
lea eax, [ebp - 0x3b08]
push eax
lea edi, [ebp - 0x4e90]
mov byte [ebp - 0x3b08], 0
call fcn.00401a0a
pop ecx
push ebx
call fcn.004080b2
pop ecx
push eax
lea eax, [ebp - 0x3b08]
push eax
push str._Extractor__Writing_launch_properties_to__s__length:__d__n
call fcn.00409575
add esp, 0xc
mov esi, 0x43dec0
lea eax, [ebp - 0x3b08]
push esi
push eax
call fcn.004194a6
mov edi, eax
test edi, edi
pop ecx
pop ecx
jne 0x4022e1
and dword [ebp - 0x621c], eax
lea eax, [ebp - 0x3b08]
push eax
lea edi, [ebp - 0x4e90]
mov byte [ebp - 0x3b08], 0
call fcn.00401a0a
pop ecx
lea eax, [ebp - 0x3b08]
push eax
push str._Retry__Writing_launch_properties_to__s_n
call fcn.00409575
lea eax, [ebp - 0x3b08]
push esi
push eax
call fcn.004194a6
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x4022e1
inc dword [ebp - 0x621c]
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebp - 0x621c], 5
jl 0x402274
push str.Unable_to_write_Launch_Properties_file__Cannot_run__n
call fcn.00409626
pop ecx
push 0x63
jmp 0x401c48
push str._Extractor__Writing_to_file_n
call fcn.00409575
pop ecx
push edi
push ebx
call fcn.004080b2
pop ecx
push eax
push 1
push ebx
call fcn.0041a6dc
push edi
call fcn.00419346
add esp, 0x14
push edi
call fcn.0041aeb3
mov dword [esp], str._Extractor__Finished_writing_launch_properties_file_n
call fcn.00409575
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.00408227
pop ecx
mov esi, eax
push esi
push str._Extractor__Reading__ld_extra_args_n
call fcn.00409575
test esi, esi
pop ecx
pop ecx
jle 0x402362
push dword [ebp - 0x6230]
call fcn.00408216
pop ecx
mov ecx, dword [ebp - 0x6238]
mov dword [ecx + ebx*4], eax
inc ebx
dec esi
jne 0x402349
xor edi, edi
cmp dword [ebp - 0x624c], 3
mov dword [ebp - 0x6244], edi
jl 0x402392
push dword [ebp - 0x6230]
call fcn.00408216
pop ecx
push eax
push str._Extractor__Read_JRE_compatibility_class__s_n
mov dword [ebp - 0x6244], eax
call fcn.00409575
pop ecx
pop ecx
cmp dword [ebp - 0x624c], 4
jl 0x4023b3
push dword [ebp - 0x6230]
call fcn.00408216
pop ecx
push dword [ebp - 0x6230]
call fcn.00408216
pop ecx
cmp dword [ebp - 0x624c], 5
jl 0x402465
push dword [ebp - 0x6230]
call fcn.00408227
mov esi, eax
xor eax, eax
cmp dword [ebp - 0x6258], edi
pop ecx
jle 0x4023d9
inc eax
cmp dword [ebp - 0x6228], edi
jle 0x4023e2
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.00409575
push esi
push str._Extractor__Additional_JRE_option_count_is__d_n
call fcn.00409575
add esp, 0x18
test esi, esi
jle 0x402463
mov dword [ebp - 0x6240], esi
push dword [ebp - 0x6230]
call fcn.00408216
test edi, edi
pop ecx
mov esi, eax
push esi
je 0x40244f
push str._Extractor__Added_option__s_n
call fcn.00409575
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 0x40245b
push str._Extractor__Skipping_option__s_n
call fcn.00409575
pop ecx
pop ecx
dec dword [ebp - 0x6240]
jne 0x402419
xor edi, edi
cmp dword [ebp - 0x624c], 6
jl 0x40247a
push dword [ebp - 0x6230]
call fcn.00408227
pop ecx
cmp dword [ebp + 0x20], edi
jne 0x402487
mov eax, dword [ebp - 0x625c]
jmp 0x402493
cmp dword [ebp + 0x20], 1
jne 0x402499
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.00409575
cmp dword [ebp + 0x10], edi
pop ecx
pop ecx
jle 0x4024c3
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.00409575
push dword [ebp - 0x6224]
push str._Extractor___Launch__Class:__s_n
call fcn.00409575
add esp, 0x10
xor esi, esi
cmp dword [ebp - 0x6220], edi
jle 0x402511
mov eax, dword [ebp - 0x6234]
push dword [eax + esi*4]
push esi
push str._Extractor___Launch__JVM_Argument__d:__s_n
call fcn.00409575
add esp, 0xc
inc esi
cmp esi, dword [ebp - 0x6220]
jl 0x4024f1
xor esi, esi
cmp dword [ebp - 0x623c], edi
jle 0x40253b
mov eax, dword [ebp - 0x622c]
push dword [eax + esi*4]
push esi
push str._Extractor___Launch__ClassPath__d:__s_n
call fcn.00409575
add esp, 0xc
inc esi
cmp esi, dword [ebp - 0x623c]
jl 0x40251b
xor esi, esi
cmp ebx, edi
jle 0x40255d
mov eax, dword [ebp - 0x6238]
push dword [eax + esi*4]
push esi
push str._Extractor___Launch__App_Argument__d:__s_n
call fcn.00409575
add esp, 0xc
inc esi
cmp esi, ebx
jl 0x402541
push dword [ebp + 0x20]
push str._Extractor__This_is_a_newer_extractor..._launchclass_is__d_n
call fcn.00409575
push dword [ebp - 0x6230]
call fcn.0041aeb3
add esp, 0xc
cmp dword [ebp + 0x20], edi
jne 0x4026ed
push dword [ebp - 0x6248]
lea eax, [ebp - 0x13f8]
push dword [ebp - 0x6264]
call fcn.00409517
lea eax, [ebp - 0x13f8]
push eax
push str._Extractor__JRE_folder_is__s_n
call fcn.00409575
add esp, 0x10
cmp dword [0x454db8], edi
jne 0x40262d
push 0
push str._Extractor__Force_spawn_is__d_so_attempting_to_launch_via_JNI_n
call fcn.00409575
mov esi, str.JNI_Launch
push esi
call fcn.00409723
add esp, 0xc
push dword [ebp - 0x6238]
lea ecx, [ebp - 0x13f8]
push ebx
push dword [ebp - 0x622c]
push dword [ebp - 0x623c]
push dword [ebp - 0x6234]
push dword [ebp - 0x6220]
push dword [ebp - 0x6224]
call fcn.00405f1e
add esp, 0x1c
mov edi, eax
push edi
push str._Extractor__Return_code_for_JNI_launch_was__d_n
call fcn.00409575
push esi
call fcn.0040974b
add esp, 0xc
test edi, edi
jne 0x402622
xor eax, eax
jmp 0x4027a8
push str._Extractor__JNI_launch_failed._Attempting_legacy_spawn_instead_n
call fcn.00409575
pop ecx
push str._Extractor__Attempting_spawn_launch_n
call fcn.00409575
mov dword [esp], str.Spawn_launch
call fcn.00409723
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.00401a81
add esp, 0x24
mov esi, eax
call fcn.00409773
call fcn.00406e0b
push dword [esi]
mov edi, eax
push edi
call fcn.00406e64
xor ebx, ebx
inc ebx
cmp dword [ebp - 0x6228], ebx
pop ecx
pop ecx
jle 0x4026bc
mov edx, dword [esi + ebx*4]
mov ecx, edi
call fcn.00406e39
inc ebx
cmp ebx, dword [ebp - 0x6228]
jl 0x4026a9
call fcn.00407011
mov edi, eax
test edi, edi
je 0x4026e7
mov esi, 0x43e938
push esi
call fcn.00409575
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.00409575
push esi
call fcn.00409575
add esp, 0xc
push edi
jmp 0x401c48
cmp dword [ebp + 0x20], 1
jne 0x4027a5
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.00401a81
add esp, 0x24
mov esi, eax
call fcn.00409773
call fcn.00406e0b
push dword [esi]
mov edi, eax
push edi
call fcn.00406e64
xor ebx, ebx
inc ebx
cmp dword [ebp - 0x6228], ebx
pop ecx
pop ecx
jle 0x40276f
mov edx, dword [esi + ebx*4]
mov ecx, edi
call fcn.00406e39
inc ebx
cmp ebx, dword [ebp - 0x6228]
jl 0x40275c
call fcn.00406e93
push edi
mov ebx, eax
call fcn.00418133
test ebx, ebx
pop ecx
je 0x4027a1
mov esi, 0x43e938
push esi
call fcn.00409575
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.00409575
push esi
call fcn.00409575
add esp, 0xc
mov eax, ebx
jmp 0x4027a8
or eax, 0xffffffff
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00418124
leave
ret