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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x6264
call fcn.0041d020
mov eax, dword [0x446504]
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.00409933
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.00409785
add esp, 0x14
mov esi, 0xfa0
push esi
call fcn.00418420
and dword [ebp - 0x6220], 0
pop ecx
push esi
mov dword [ebp - 0x6238], eax
call fcn.00418420
pop ecx
mov dword [ebp - 0x6234], eax
push edi
push ebx
lea eax, [ebp - 0x4e90]
call fcn.004096fe
push str.JWrapperLaunch
push edi
push ebx
lea eax, [ebp - 0x6218]
call fcn.0040971c
add esp, 0x14
lea eax, [ebp - 0x6218]
push 0x43dfc4
push eax
call fcn.004196b6
mov edi, eax
test edi, edi
pop ecx
pop ecx
mov dword [ebp - 0x6230], edi
jne 0x401dac
lea eax, [ebp - 0x6218]
push eax
push str.Unable_to_open_launch_file__s_n
call fcn.00409836
pop ecx
pop ecx
push 1
call fcn.0041928e
push edi
call fcn.00408244
pop ecx
push edi
mov dword [ebp - 0x624c], eax
call fcn.00408233
pop ecx
push edi
mov dword [ebp - 0x625c], eax
call fcn.00408233
pop ecx
push edi
call fcn.00408233
pop ecx
push edi
mov dword [ebp - 0x622c], eax
call fcn.00408233
pop ecx
push edi
call fcn.00408244
pop ecx
push edi
call fcn.00408244
pop ecx
push edi
mov dword [ebp - 0x6258], eax
call fcn.00408244
and dword [ebp - 0x6250], 0
pop ecx
push dword [ebp - 0x6224]
mov dword [ebp - 0x6228], eax
push ebx
call fcn.00409adc
cmp dword [ebp + 0x20], 0
pop ecx
pop ecx
mov dword [ebp - 0x6248], eax
jne 0x401f83
test eax, eax
je 0x401f74
push eax
push str._Extractor__Using_private_JRE__s_n
call fcn.00409785
push 0x43dbf0
push dword [ebp - 0x6248]
lea eax, [ebp - 0x2780]
push ebx
call fcn.0040971c
add esp, 0x14
lea eax, [ebp - 0x2780]
push str.windowslauncher.exe
push eax
lea eax, [ebp - 0x13f8]
call fcn.004096fe
pop ecx
pop ecx
lea esi, [ebp - 0x13f8]
call fcn.004092fe
test eax, eax
jne 0x401e91
lea eax, [ebp - 0x2780]
push str.javaw.exe
push eax
mov eax, esi
call fcn.004096fe
pop ecx
pop ecx
push dword [ebp - 0x622c]
lea esi, [ebp - 0x2780]
call fcn.0040967f
mov eax, esi
mov dword [esp], str..exe
push eax
call fcn.00418650
pop ecx
pop ecx
call fcn.004092fe
test eax, eax
jne 0x401f03
mov eax, esi
push eax
push str._Extractor__Copying_FILE__s_n
call fcn.00409785
lea eax, [ebp - 0x13f8]
push 0x43dfc4
push eax
call fcn.004196b6
add esp, 0x10
test eax, eax
jne 0x401ef4
lea eax, [ebp - 0x13f8]
push eax
push str._Extractor___Unable_to_open_source_file_for_copy__s_n
call fcn.00409785
jmp 0x401f01
push eax
lea eax, [ebp - 0x2780]
push eax
call fcn.004017d9
pop ecx
pop ecx
mov esi, dword [ebp - 0x6248]
push esi
call fcn.004185b0
or dword [ebp - 0x622c], 0xffffffff
pop ecx
xor ecx, ecx
test eax, eax
jle 0x401f2e
cmp byte [ecx + esi], 0x5c
jne 0x401f29
mov dword [ebp - 0x622c], ecx
inc ecx
cmp ecx, eax
jl 0x401f1d
push 0x2710
call fcn.00418420
mov dword [esp], str.JRE_LastSuccessfulOptions_
mov esi, eax
push str.JWApps
push ebx
mov dword [ebp - 0x6250], esi
call fcn.0040971c
mov ecx, dword [ebp - 0x6248]
mov eax, dword [ebp - 0x622c]
add esp, 0xc
lea eax, [eax + ecx + 1]
push eax
push esi
call fcn.00418650
push esi
push str._Extractor__JRE_LSO_file_is__s_n
jmp 0x401fae
push str.No_private_JRE_available__n
call fcn.00409836
jmp 0x401da4
cmp dword [ebp + 0x20], 1
jne 0x401fb6
push dword [ebp - 0x6224]
lea eax, [ebp - 0x2780]
push eax
mov byte [ebp - 0x2780], 0
call fcn.00418650
lea eax, [ebp - 0x2780]
push eax
push str._Extractor__Checking_for_existing_system_JRE__s_n
call fcn.00409785
add esp, 0x10
cmp dword [ebp - 0x6258], 0
jle 0x401ff1
push 0x64
call fcn.00418420
pop ecx
push 0
push dword [ebp - 0x6258]
mov esi, eax
push str._Xmx_dm_c
push esi
call fcn.00418f13
mov eax, dword [ebp - 0x6234]
add esp, 0x10
mov dword [eax], esi
mov dword [ebp - 0x6220], 1
cmp dword [ebp - 0x6228], 0
jle 0x40202f
push 0x64
call fcn.00418420
pop ecx
push 0
push dword [ebp - 0x6228]
mov esi, eax
push str._Xms_dm_c
push esi
call fcn.00418f13
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.00409785
pop ecx
push edi
call fcn.00408244
mov ebx, eax
pop ecx
shl eax, 2
push eax
mov dword [ebp - 0x623c], ebx
call fcn.00418420
xor esi, esi
test ebx, ebx
pop ecx
mov dword [ebp - 0x622c], eax
jle 0x4020ad
push edi
call fcn.00408233
pop ecx
mov dword [ebp - 0x6260], eax
call fcn.004096ed
push 0x3e8
call fcn.00418420
pop ecx
push dword [ebp - 0x6260]
mov ebx, eax
lea eax, [ebp - 0x4e90]
push eax
mov eax, ebx
call fcn.004096fe
pop ecx
pop ecx
mov eax, ebx
call fcn.004096ed
mov eax, dword [ebp - 0x622c]
mov dword [eax + esi*4], ebx
inc esi
cmp esi, dword [ebp - 0x623c]
jl 0x40205f
push str._Extractor__Creating_launch_properties_n
call fcn.00409785
pop ecx
push dword [ebp - 0x621c]
call fcn.004080cf
pop ecx
add eax, 0x30d40
push eax
call fcn.00418420
pop ecx
push dword [ebp - 0x621c]
mov ebx, eax
mov byte [ebx], 0
call fcn.004080cf
pop ecx
inc eax
inc eax
push eax
push dword [ebp - 0x621c]
push ebx
call fcn.00418b80
add esp, 0xc
push dword [ebp - 0x6244]
mov esi, str.update_url
push esi
mov eax, ebx
call fcn.00408177
push 0x43e474
push dword [ebp - 0x6244]
call fcn.00419b50
add esp, 0x10
test eax, eax
jne 0x402135
cmp dword [ebp - 0x6240], eax
je 0x402135
push dword [ebp - 0x6240]
mov eax, ebx
push esi
call fcn.0040819f
pop ecx
pop ecx
lea eax, [ebp - 0x4e90]
push eax
push str.app_dir
mov eax, ebx
call fcn.00408177
push dword [ebp - 0x6224]
mov eax, ebx
push str.jre_name
call fcn.00408177
push dword [ebp - 0x6254]
mov eax, ebx
push str.launched_from_dynprops
call fcn.00408177
push str._Extractor__Checking_LSO_file_n
call fcn.00409785
add esp, 0x1c
cmp dword [ebp - 0x6250], 0
je 0x402367
mov esi, dword [ebp - 0x6250]
push esi
push str._Extractor__Reading__s_n
call fcn.00409785
mov edi, 0x43dfc4
push edi
push esi
call fcn.004196b6
and dword [ebp - 0x621c], 0
add esp, 0x10
mov dword [ebp - 0x6224], eax
call fcn.004092fe
test eax, eax
je 0x40220e
cmp dword [ebp - 0x6224], 0
jne 0x40221b
cmp dword [ebp - 0x621c], 5
jge 0x402360
push dword [ebp - 0x621c]
push str._Extractor__LSO_file_does_exist._Retrying___d_...
call fcn.00409785
push edi
push dword [ebp - 0x6250]
call fcn.004196b6
add esp, 0x10
test eax, eax
mov dword [ebp - 0x6224], eax
jne 0x40221b
inc dword [ebp - 0x621c]
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x4021c5
cmp dword [ebp - 0x6224], 0
je 0x402360
push str._Extractor__JRE_LSO_file_exists_n
call fcn.00409785
pop ecx
mov edi, 0x1388
push edi
lea eax, [ebp - 0x13f8]
push 0
push eax
call fcn.00419850
add esp, 0xc
push dword [ebp - 0x6224]
call fcn.00408244
pop ecx
mov esi, eax
push esi
push str._Extractor__Found__ld_JVM_Options_n
mov dword [ebp - 0x6254], esi
call fcn.00409785
push esi
lea eax, [ebp - 0x13f8]
push 0x43e558
push eax
call fcn.00418f13
add esp, 0x14
lea eax, [ebp - 0x13f8]
push eax
push str.jvm_options_count
mov eax, ebx
call fcn.00408177
and dword [ebp - 0x621c], 0
test esi, esi
pop ecx
pop ecx
jle 0x402353
push dword [ebp - 0x6224]
call fcn.00408233
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.00419850
add esp, 0xc
push dword [ebp - 0x621c]
lea eax, [ebp - 0x13f8]
push str.jvm_options__d
push eax
call fcn.00418f13
add esp, 0xc
push esi
call fcn.004185b0
cmp eax, 0x64
pop ecx
jae 0x4022ff
push esi
lea eax, [ebp - 0x13f8]
push eax
push str._Extractor__Launch_Prop:__s___s_n
jmp 0x402322
push 0x63
lea eax, [ebp - 0x70]
push esi
push eax
call fcn.00419720
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.00409785
add esp, 0xc
lea eax, [ebp - 0x13f8]
push esi
push eax
mov eax, ebx
call fcn.00408177
inc dword [ebp - 0x621c]
mov eax, dword [ebp - 0x621c]
cmp eax, dword [ebp - 0x6254]
pop ecx
pop ecx
jl 0x402295
push dword [ebp - 0x6224]
call fcn.0041b0c3
jmp 0x402371
push str.JRE_LSO_file_does_not_exist_n
jmp 0x40236c
push str.Not_a_private_JRE__no_need_to_check_for_LSO_file__n
call fcn.00409836
pop ecx
push str._Extractor__Writing_launch_properties_file_n
call fcn.00409785
pop ecx
lea eax, [ebp - 0x3b08]
push eax
lea edi, [ebp - 0x4e90]
mov byte [ebp - 0x3b08], 0
call fcn.00401b64
pop ecx
push ebx
call fcn.004080cf
pop ecx
push eax
lea eax, [ebp - 0x3b08]
push eax
push str._Extractor__Writing_launch_properties_to__s__length:__d__n
call fcn.00409785
add esp, 0xc
mov esi, 0x43e018
lea eax, [ebp - 0x3b08]
push esi
push eax
call fcn.004196b6
mov edi, eax
test edi, edi
pop ecx
pop ecx
jne 0x402440
and dword [ebp - 0x621c], eax
lea eax, [ebp - 0x3b08]
push eax
lea edi, [ebp - 0x4e90]
mov byte [ebp - 0x3b08], 0
call fcn.00401b64
pop ecx
lea eax, [ebp - 0x3b08]
push eax
push str._Retry__Writing_launch_properties_to__s_n
call fcn.00409785
lea eax, [ebp - 0x3b08]
push esi
push eax
call fcn.004196b6
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x402440
inc dword [ebp - 0x621c]
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebp - 0x621c], 5
jl 0x4023d3
push str.Unable_to_write_Launch_Properties_file__Cannot_run__n
call fcn.00409836
pop ecx
push 0x63
jmp 0x401da7
push str._Extractor__Writing_to_file_n
call fcn.00409785
pop ecx
push edi
push ebx
call fcn.004080cf
pop ecx
push eax
push 1
push ebx
call fcn.0041a8ec
push edi
call fcn.00419556
add esp, 0x14
push edi
call fcn.0041b0c3
mov dword [esp], str._Extractor__Finished_writing_launch_properties_file_n
call fcn.00409785
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.00408244
pop ecx
mov esi, eax
push esi
push str._Extractor__Reading__ld_extra_args_n
call fcn.00409785
test esi, esi
pop ecx
pop ecx
jle 0x4024c1
push dword [ebp - 0x6230]
call fcn.00408233
pop ecx
mov ecx, dword [ebp - 0x6238]
mov dword [ecx + ebx*4], eax
inc ebx
dec esi
jne 0x4024a8
xor edi, edi
cmp dword [ebp - 0x624c], 3
mov dword [ebp - 0x6244], edi
jl 0x4024f1
push dword [ebp - 0x6230]
call fcn.00408233
pop ecx
push eax
push str._Extractor__Read_JRE_compatibility_class__s_n
mov dword [ebp - 0x6244], eax
call fcn.00409785
pop ecx
pop ecx
cmp dword [ebp - 0x624c], 4
jl 0x402512
push dword [ebp - 0x6230]
call fcn.00408233
pop ecx
push dword [ebp - 0x6230]
call fcn.00408233
pop ecx
cmp dword [ebp - 0x624c], 5
jl 0x4025c4
push dword [ebp - 0x6230]
call fcn.00408244
mov esi, eax
xor eax, eax
cmp dword [ebp - 0x6258], edi
pop ecx
jle 0x402538
inc eax
cmp dword [ebp - 0x6228], edi
jle 0x402541
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.00409785
push esi
push str._Extractor__Additional_JRE_option_count_is__d_n
call fcn.00409785
add esp, 0x18
test esi, esi
jle 0x4025c2
mov dword [ebp - 0x6240], esi
push dword [ebp - 0x6230]
call fcn.00408233
test edi, edi
pop ecx
mov esi, eax
push esi
je 0x4025ae
push str._Extractor__Added_option__s_n
call fcn.00409785
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 0x4025ba
push str._Extractor__Skipping_option__s_n
call fcn.00409785
pop ecx
pop ecx
dec dword [ebp - 0x6240]
jne 0x402578
xor edi, edi
cmp dword [ebp - 0x624c], 6
jl 0x4025d9
push dword [ebp - 0x6230]
call fcn.00408244
pop ecx
cmp dword [ebp + 0x20], edi
jne 0x4025e6
mov eax, dword [ebp - 0x625c]
jmp 0x4025f2
cmp dword [ebp + 0x20], 1
jne 0x4025f8
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.00409785
cmp dword [ebp + 0x10], edi
pop ecx
pop ecx
jle 0x402622
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.00409785
push dword [ebp - 0x6224]
push str._Extractor___Launch__Class:__s_n
call fcn.00409785
add esp, 0x10
xor esi, esi
cmp dword [ebp - 0x6220], edi
jle 0x402670
mov eax, dword [ebp - 0x6234]
push dword [eax + esi*4]
push esi
push str._Extractor___Launch__JVM_Argument__d:__s_n
call fcn.00409785
add esp, 0xc
inc esi
cmp esi, dword [ebp - 0x6220]
jl 0x402650
xor esi, esi
cmp dword [ebp - 0x623c], edi
jle 0x40269a
mov eax, dword [ebp - 0x622c]
push dword [eax + esi*4]
push esi
push str._Extractor___Launch__ClassPath__d:__s_n
call fcn.00409785
add esp, 0xc
inc esi
cmp esi, dword [ebp - 0x623c]
jl 0x40267a
xor esi, esi
cmp ebx, edi
jle 0x4026bc
mov eax, dword [ebp - 0x6238]
push dword [eax + esi*4]
push esi
push str._Extractor___Launch__App_Argument__d:__s_n
call fcn.00409785
add esp, 0xc
inc esi
cmp esi, ebx
jl 0x4026a0
push dword [ebp + 0x20]
push str._Extractor__This_is_a_newer_extractor..._launchclass_is__d_n
call fcn.00409785
push dword [ebp - 0x6230]
call fcn.0041b0c3
add esp, 0xc
cmp dword [ebp + 0x20], edi
jne 0x40284c
push dword [ebp - 0x6248]
lea eax, [ebp - 0x13f8]
push dword [ebp - 0x6264]
call fcn.004096fe
lea eax, [ebp - 0x13f8]
push eax
push str._Extractor__JRE_folder_is__s_n
call fcn.00409785
add esp, 0x10
cmp dword [0x455db8], edi
jne 0x40278c
push 0
push str._Extractor__Force_spawn_is__d_so_attempting_to_launch_via_JNI_n
call fcn.00409785
mov esi, str.JNI_Launch
push esi
call fcn.00409933
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.00409785
push esi
call fcn.0040995b
add esp, 0xc
test edi, edi
jne 0x402781
xor eax, eax
jmp 0x402907
push str._Extractor__JNI_launch_failed._Attempting_legacy_spawn_instead_n
call fcn.00409785
pop ecx
push str._Extractor__Attempting_spawn_launch_n
call fcn.00409785
mov dword [esp], str.Spawn_launch
call fcn.00409933
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.00401be0
add esp, 0x24
mov esi, eax
call fcn.00409983
call fcn.00406e28
push dword [esi]
mov edi, eax
push edi
call fcn.00406e81
xor ebx, ebx
inc ebx
cmp dword [ebp - 0x6228], ebx
pop ecx
pop ecx
jle 0x40281b
mov edx, dword [esi + ebx*4]
mov ecx, edi
call fcn.00406e56
inc ebx
cmp ebx, dword [ebp - 0x6228]
jl 0x402808
call fcn.0040702e
mov edi, eax
test edi, edi
je 0x402846
mov esi, 0x43ea88
push esi
call fcn.00409785
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.00409785
push esi
call fcn.00409785
add esp, 0xc
push edi
jmp 0x401da7
cmp dword [ebp + 0x20], 1
jne 0x402904
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.00401be0
add esp, 0x24
mov esi, eax
call fcn.00409983
call fcn.00406e28
push dword [esi]
mov edi, eax
push edi
call fcn.00406e81
xor ebx, ebx
inc ebx
cmp dword [ebp - 0x6228], ebx
pop ecx
pop ecx
jle 0x4028ce
mov edx, dword [esi + ebx*4]
mov ecx, edi
call fcn.00406e56
inc ebx
cmp ebx, dword [ebp - 0x6228]
jl 0x4028bb
call fcn.00406eb0
push edi
mov ebx, eax
call fcn.00418343
test ebx, ebx
pop ecx
je 0x402900
mov esi, 0x43ea88
push esi
call fcn.00409785
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.00409785
push esi
call fcn.00409785
add esp, 0xc
mov eax, ebx
jmp 0x402907
or eax, 0xffffffff
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00418334
leave
ret