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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x6264
call fcn.0041cbc0
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 - 0x625c], 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 - 0x6250], ebx
mov edi, ecx
mov dword [ebp - 0x6234], esi
mov dword [ebp - 0x6258], eax
call fcn.00409508
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.0040935a
add esp, 0x14
mov esi, 0xfa0
push esi
call fcn.00417fc0
and dword [ebp - 0x6230], 0
pop ecx
push esi
mov dword [ebp - 0x6244], eax
call fcn.00417fc0
pop ecx
mov dword [ebp - 0x6254], eax
push edi
push ebx
lea eax, [ebp - 0x4e90]
call fcn.004092fc
push str.JWrapperLaunch
push edi
push ebx
lea eax, [ebp - 0x6218]
call fcn.0040931a
add esp, 0x14
lea eax, [ebp - 0x6218]
push 0x43de68
push eax
call fcn.00419256
mov edi, eax
test edi, edi
pop ecx
pop ecx
mov dword [ebp - 0x6228], edi
jne 0x401b71
lea eax, [ebp - 0x6218]
push eax
push str.Unable_to_open_launch_file__s_n
call fcn.0040940b
pop ecx
pop ecx
push 1
call fcn.00418e2e
mov esi, 0x7d0
push esi
call fcn.00417fc0
pop ecx
push esi
xor esi, esi
mov ebx, eax
push esi
push ebx
call fcn.004193f0
add esp, 0xc
push edi
call fcn.0040805a
pop ecx
push edi
mov dword [ebp - 0x622c], eax
call fcn.00408049
pop ecx
push edi
mov dword [ebp - 0x6260], eax
call fcn.00408049
pop ecx
push edi
call fcn.00408049
pop ecx
push edi
mov dword [ebp - 0x624c], eax
call fcn.00408049
pop ecx
push edi
call fcn.0040805a
pop ecx
push edi
call fcn.0040805a
pop ecx
push edi
mov dword [ebp - 0x6220], eax
call fcn.0040805a
pop ecx
push dword [ebp - 0x6234]
mov dword [ebp - 0x6224], eax
push dword [ebp - 0x6250]
mov dword [ebp - 0x6248], esi
call fcn.004096ad
cmp dword [ebp + 0x20], esi
pop ecx
mov edi, eax
pop ecx
mov dword [ebp - 0x6264], edi
jne 0x401d61
test edi, edi
je 0x401d52
push edi
push str._Extractor__Using_private_JRE__s_n
call fcn.0040935a
push 0x43da84
push edi
push dword [ebp - 0x6250]
lea eax, [ebp - 0x3b08]
call fcn.0040931a
add esp, 0x14
lea eax, [ebp - 0x3b08]
push str.windowslauncher.exe
push eax
lea eax, [ebp - 0x13f8]
call fcn.004092fc
pop ecx
pop ecx
lea esi, [ebp - 0x13f8]
call fcn.00408efc
test eax, eax
jne 0x401c76
lea eax, [ebp - 0x3b08]
push str.javaw.exe
push eax
mov eax, esi
call fcn.004092fc
pop ecx
pop ecx
push dword [ebp - 0x624c]
lea esi, [ebp - 0x3b08]
call fcn.0040927d
mov eax, esi
mov dword [esp], str..exe
push eax
call fcn.004181f0
pop ecx
pop ecx
call fcn.00408efc
test eax, eax
jne 0x401ce8
mov eax, esi
push eax
push str._Extractor__Copying_FILE__s_n
call fcn.0040935a
lea eax, [ebp - 0x13f8]
push 0x43de68
push eax
call fcn.00419256
add esp, 0x10
test eax, eax
jne 0x401cd9
lea eax, [ebp - 0x13f8]
push eax
push str._Extractor___Unable_to_open_source_file_for_copy__s_n
call fcn.0040935a
jmp 0x401ce6
push eax
lea eax, [ebp - 0x3b08]
push eax
call fcn.0040167f
pop ecx
pop ecx
push edi
call fcn.00418150
or dword [ebp - 0x623c], 0xffffffff
pop ecx
xor ecx, ecx
test eax, eax
jle 0x401d0d
cmp byte [ecx + edi], 0x5c
jne 0x401d08
mov dword [ebp - 0x623c], ecx
inc ecx
cmp ecx, eax
jl 0x401cfc
push 0x2710
call fcn.00417fc0
mov dword [esp], str.JRE_LastSuccessfulOptions_
push str.JWApps
push dword [ebp - 0x6250]
mov esi, eax
mov dword [ebp - 0x6248], esi
call fcn.0040931a
mov eax, dword [ebp - 0x623c]
add esp, 0xc
lea eax, [eax + edi + 1]
push eax
push esi
call fcn.004181f0
push esi
push str._Extractor__JRE_LSO_file_is__s_n
jmp 0x401d8c
push str.No_private_JRE_available__n
call fcn.0040940b
jmp 0x401b69
cmp dword [ebp + 0x20], 1
jne 0x401d94
push dword [ebp - 0x6234]
lea eax, [ebp - 0x3b08]
push eax
mov byte [ebp - 0x3b08], 0
call fcn.004181f0
lea eax, [ebp - 0x3b08]
push eax
push str._Extractor__Checking_for_existing_system_JRE__s_n
call fcn.0040935a
add esp, 0x10
xor edi, edi
lea eax, [ebp - 0x3b08]
inc edi
cmp dword [ebp - 0x6220], 0
mov dword [ebx], eax
jle 0x401e0c
push 0x64
call fcn.00417fc0
mov esi, eax
mov dword [esp], str._Xmx
push esi
mov byte [esi], 0
call fcn.004181f0
push dword [ebp - 0x6220]
lea eax, [ebp - 0x70]
push 0x43e2a0
push eax
mov byte [ebp - 0x70], 0
call fcn.00418ab3
add esp, 0x14
lea eax, [ebp - 0x70]
push eax
push esi
call fcn.004181f0
push 0x43e2a4
push esi
call fcn.004181f0
mov eax, dword [ebp - 0x6254]
add esp, 0x10
push 2
mov dword [ebx + 4], esi
pop edi
mov dword [eax], esi
mov dword [ebp - 0x6230], 1
cmp dword [ebp - 0x6224], 0
jle 0x401e7a
push 0x64
call fcn.00417fc0
mov esi, eax
mov dword [esp], str._Xms
push esi
mov byte [esi], 0
call fcn.004181f0
push dword [ebp - 0x6224]
lea eax, [ebp - 0x70]
push 0x43e2a0
push eax
mov byte [ebp - 0x70], 0
call fcn.00418ab3
add esp, 0x14
lea eax, [ebp - 0x70]
push eax
push esi
call fcn.004181f0
push 0x43e2a4
push esi
call fcn.004181f0
mov ecx, dword [ebp - 0x6230]
mov eax, dword [ebp - 0x6254]
add esp, 0x10
mov dword [ebx + edi*4], esi
inc edi
inc dword [ebp - 0x6230]
mov dword [eax + ecx*4], esi
mov dword [ebx + edi*4], 0x43e2b0
push str._Extractor__Building_classpath_n
inc edi
call fcn.0040935a
mov dword [esp], 0xc350
call fcn.00417fc0
pop ecx
push dword [ebp - 0x6228]
mov esi, eax
mov byte [esi], 0
call fcn.0040805a
mov dword [ebp - 0x623c], eax
pop ecx
shl eax, 2
push eax
call fcn.00417fc0
and dword [ebp - 0x6224], 0
cmp dword [ebp - 0x623c], 0
pop ecx
mov dword [ebp - 0x624c], eax
jle 0x401f76
cmp dword [ebp - 0x6224], 0
jle 0x401eea
push 0x43e2d4
push esi
call fcn.004181f0
pop ecx
pop ecx
push dword [ebp - 0x6228]
call fcn.00408049
pop ecx
mov dword [ebp - 0x6220], eax
lea eax, [ebp - 0x4e90]
push eax
push esi
call fcn.004181f0
push dword [ebp - 0x6220]
call fcn.0040927d
mov eax, dword [ebp - 0x6220]
add esp, 0xc
call fcn.004092eb
push 0x3e8
call fcn.00417fc0
pop ecx
push dword [ebp - 0x6220]
lea ecx, [ebp - 0x4e90]
push ecx
mov dword [ebp - 0x6238], eax
call fcn.004092fc
mov edx, dword [ebp - 0x6238]
pop ecx
pop ecx
mov eax, edx
call fcn.004092eb
mov eax, dword [ebp - 0x6224]
mov ecx, dword [ebp - 0x624c]
mov dword [ecx + eax*4], edx
inc eax
cmp eax, dword [ebp - 0x623c]
mov dword [ebp - 0x6224], eax
jl 0x401ed4
mov eax, esi
call fcn.004092eb
mov dword [ebx + edi*4], esi
inc edi
push str._Extractor__Creating_launch_properties_n
mov dword [ebp - 0x6238], edi
call fcn.0040935a
pop ecx
push dword [ebp - 0x621c]
call fcn.00407ee5
pop ecx
add eax, 0x30d40
push eax
call fcn.00417fc0
pop ecx
push dword [ebp - 0x621c]
mov esi, eax
mov dword [ebp - 0x6224], esi
mov byte [esi], 0
call fcn.00407ee5
pop ecx
inc eax
inc eax
push eax
push dword [ebp - 0x621c]
push esi
call fcn.00418720
add esp, 0xc
push dword [ebp - 0x625c]
mov eax, esi
push str.update_url
call fcn.00407f8d
push 0x43e30c
push dword [ebp - 0x625c]
call fcn.004196f0
add esp, 0x10
test eax, eax
jne 0x402018
cmp dword [ebp - 0x6240], eax
je 0x402018
push dword [ebp - 0x6240]
mov eax, esi
push str.update_url
call fcn.00407fb5
pop ecx
pop ecx
lea eax, [ebp - 0x4e90]
push eax
push str.app_dir
mov eax, esi
call fcn.00407f8d
push dword [ebp - 0x6234]
mov eax, esi
push str.jre_name
call fcn.00407f8d
push dword [ebp - 0x6258]
mov eax, esi
push str.launched_from_dynprops
call fcn.00407f8d
push str._Extractor__Checking_LSO_file_n
call fcn.0040935a
add esp, 0x1c
cmp dword [ebp - 0x6248], 0
je 0x402264
mov esi, dword [ebp - 0x6248]
push esi
push str._Extractor__Reading__s_n
call fcn.0040935a
push 0x43de68
push esi
call fcn.00419256
and dword [ebp - 0x6220], 0
add esp, 0x10
mov dword [ebp - 0x621c], eax
call fcn.00408efc
test eax, eax
je 0x4020f4
cmp dword [ebp - 0x621c], 0
jne 0x402101
cmp dword [ebp - 0x6220], 5
jge 0x40225d
push dword [ebp - 0x6220]
push str._Extractor__LSO_file_does_exist._Retrying___d_...
call fcn.0040935a
push 0x43de68
push dword [ebp - 0x6248]
call fcn.00419256
add esp, 0x10
test eax, eax
mov dword [ebp - 0x621c], eax
jne 0x402101
inc dword [ebp - 0x6220]
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x4020a7
cmp dword [ebp - 0x621c], 0
je 0x40225d
push str._Extractor__JRE_LSO_file_exists_n
call fcn.0040935a
mov dword [esp], 0x1388
lea eax, [ebp - 0x13f8]
push 0
push eax
call fcn.004193f0
add esp, 0xc
push dword [ebp - 0x621c]
call fcn.0040805a
pop ecx
mov esi, eax
push esi
push str._Extractor__Found__ld_JVM_Options_n
mov dword [ebp - 0x6258], esi
call fcn.0040935a
push esi
lea eax, [ebp - 0x13f8]
push 0x43e3f0
push eax
call fcn.00418ab3
add esp, 0x14
lea eax, [ebp - 0x13f8]
push eax
mov eax, dword [ebp - 0x6224]
push str.jvm_options_count
call fcn.00407f8d
and dword [ebp - 0x6220], 0
test esi, esi
pop ecx
pop ecx
jle 0x402250
push dword [ebp - 0x621c]
call fcn.00408049
mov ecx, dword [ebp - 0x6230]
mov esi, eax
mov eax, dword [ebp - 0x6254]
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 - 0x6230]
push eax
call fcn.004193f0
add esp, 0xc
push dword [ebp - 0x6220]
lea eax, [ebp - 0x13f8]
push str.jvm_options__d
push eax
call fcn.00418ab3
add esp, 0xc
push esi
call fcn.00418150
cmp eax, 0x64
pop ecx
jae 0x4021f2
push esi
lea eax, [ebp - 0x13f8]
push eax
push str._Extractor__Launch_Prop:__s___s_n
jmp 0x402215
push 0x63
lea eax, [ebp - 0x70]
push esi
push eax
call fcn.004192c0
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.0040935a
add esp, 0xc
lea eax, [ebp - 0x13f8]
push esi
push eax
mov eax, dword [ebp - 0x6224]
call fcn.00407f8d
inc dword [ebp - 0x6220]
mov eax, dword [ebp - 0x6220]
cmp eax, dword [ebp - 0x6258]
pop ecx
pop ecx
jl 0x40217f
mov dword [ebp - 0x6238], edi
push dword [ebp - 0x621c]
call fcn.0041ac63
jmp 0x40226e
push str.JRE_LSO_file_does_not_exist_n
jmp 0x402269
push str.Not_a_private_JRE__no_need_to_check_for_LSO_file__n
call fcn.0040940b
mov esi, dword [ebp - 0x6238]
pop ecx
mov dword [ebp - 0x6238], esi
push str._Extractor__Writing_launch_properties_file_n
inc esi
call fcn.0040935a
pop ecx
lea eax, [ebp - 0x2780]
push eax
lea edi, [ebp - 0x4e90]
mov byte [ebp - 0x2780], 0
call fcn.00401a0a
pop ecx
lea eax, [ebp - 0x2780]
push eax
push str._Extractor__Writing_launch_properties_to__s_n
call fcn.0040935a
push dword [ebp - 0x6224]
call fcn.00407ee5
add esp, 0xc
push eax
push str._Extractor__Launch_properties_length_is__d_n
call fcn.0040935a
lea eax, [ebp - 0x2780]
push 0x43dec0
push eax
call fcn.00419256
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x40235c
and dword [ebp - 0x6234], eax
lea eax, [ebp - 0x2780]
push eax
lea edi, [ebp - 0x4e90]
mov byte [ebp - 0x2780], 0
call fcn.00401a0a
pop ecx
lea eax, [ebp - 0x2780]
push eax
push str._Retry__Writing_launch_properties_to__s_n
call fcn.0040935a
lea eax, [ebp - 0x2780]
push 0x43dec0
push eax
call fcn.00419256
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x40235c
inc dword [ebp - 0x6234]
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebp - 0x6234], 5
jl 0x4022eb
push str.Unable_to_write_Launch_Properties_file__Cannot_run__n
call fcn.0040940b
pop ecx
push 0x63
jmp 0x401b6c
push str._Extractor__Writing_to_file_n
call fcn.0040935a
pop ecx
push edi
push dword [ebp - 0x6224]
call fcn.00407ee5
pop ecx
push eax
push 1
push dword [ebp - 0x6224]
call fcn.0041a48c
push edi
call fcn.004190f6
add esp, 0x14
push edi
call fcn.0041ac63
mov dword [esp], str._Extractor__Finished_writing_launch_properties_file_n
call fcn.0040935a
pop ecx
mov ecx, dword [ebp - 0x6244]
push dword [ebp - 0x6228]
lea eax, [ebp - 0x2780]
mov dword [ebx + esi*4], eax
inc esi
mov dword [ecx], eax
mov dword [ebp - 0x621c], 1
call fcn.0040805a
pop ecx
mov edi, eax
push edi
push str._Extractor__Reading__ld_extra_args_n
call fcn.0040935a
test edi, edi
pop ecx
pop ecx
jle 0x402401
push dword [ebp - 0x6228]
call fcn.00408049
mov edx, dword [ebp - 0x621c]
mov dword [ebx + esi*4], eax
inc esi
inc dword [ebp - 0x621c]
dec edi
pop ecx
mov ecx, dword [ebp - 0x6244]
mov dword [ecx + edx*4], eax
jne 0x4023d9
and dword [ebp - 0x6240], 0
cmp dword [ebp - 0x622c], 3
jl 0x402430
push dword [ebp - 0x6228]
call fcn.00408049
pop ecx
push eax
push str._Extractor__Read_JRE_compatibility_class__s_n
mov dword [ebp - 0x6240], eax
call fcn.0040935a
pop ecx
pop ecx
cmp dword [ebp - 0x622c], 4
jl 0x402451
push dword [ebp - 0x6228]
call fcn.00408049
pop ecx
push dword [ebp - 0x6228]
call fcn.00408049
pop ecx
cmp dword [ebp - 0x622c], 5
jl 0x40247b
push dword [ebp - 0x6228]
call fcn.0040805a
test eax, eax
pop ecx
jle 0x40247b
mov edi, eax
push dword [ebp - 0x6228]
call fcn.00408049
dec edi
pop ecx
jne 0x40246c
cmp dword [ebp - 0x622c], 6
jl 0x402490
push dword [ebp - 0x6228]
call fcn.0040805a
pop ecx
cmp dword [ebp + 0x20], 0
jne 0x40249e
mov ecx, dword [ebp - 0x6260]
jmp 0x4024aa
cmp dword [ebp + 0x20], 1
jne 0x4024b3
mov ecx, dword [ebp - 0x6240]
mov eax, dword [ebp - 0x6238]
mov dword [ebx + eax*4], ecx
push dword [ebp + 0x10]
push str._Extractor__Appending__d_command_line_args_n
call fcn.0040935a
pop ecx
pop ecx
xor ecx, ecx
cmp dword [ebp + 0x10], ecx
jle 0x4024f2
mov eax, dword [ebp + 0x14]
mov edi, dword [ebp - 0x621c]
lea eax, [eax + ecx*4]
mov edx, dword [eax]
mov dword [ebx + esi*4], edx
mov eax, dword [eax]
mov edx, dword [ebp - 0x6244]
inc esi
inc dword [ebp - 0x621c]
inc ecx
cmp ecx, dword [ebp + 0x10]
mov dword [edx + edi*4], eax
jl 0x4024c9
lea eax, [ebp - 0x3b08]
push eax
lea edi, [ebx + esi*4]
and dword [edi], 0
push str._Extractor__Executable:__s_n
call fcn.0040935a
and dword [ebp - 0x622c], 0
test esi, esi
pop ecx
pop ecx
jle 0x40253b
mov eax, dword [ebp - 0x622c]
push dword [ebx + eax*4]
push eax
push str._Extractor__Argument__d:__s_n
call fcn.0040935a
add esp, 0xc
inc dword [ebp - 0x622c]
cmp dword [ebp - 0x622c], esi
jl 0x402516
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.0040935a
push dword [ebp - 0x6228]
call fcn.0041ac63
add esp, 0xc
cmp dword [ebp + 0x20], esi
jne 0x402686
push dword [ebp - 0x6264]
lea eax, [ebp - 0x13f8]
push dword [ebp - 0x6250]
call fcn.004092fc
lea eax, [ebp - 0x13f8]
push eax
push str._Extractor__JRE_folder_is__s_n
call fcn.0040935a
add esp, 0x10
cmp dword [0x454db8], esi
jne 0x402611
push esi
push str._Extractor__Force_spawn_is__d_so_attempting_to_launch_via_JNI_n
call fcn.0040935a
mov esi, str.JNI_Launch
push esi
call fcn.00409508
mov ecx, dword [ebp - 0x6244]
mov edx, dword [ebp - 0x6254]
add esp, 0xc
push dword [ebp - 0x621c]
lea eax, [ebp - 0x13f8]
push dword [ebp - 0x624c]
push dword [ebp - 0x623c]
push dword [ebp - 0x6230]
push eax
push dword [ebp - 0x6260]
call fcn.00405d9f
mov edi, eax
push edi
push str._Extractor__Return_code_for_JNI_launch_was__d_n
call fcn.0040935a
push esi
call fcn.00409530
add esp, 0x24
test edi, edi
jne 0x402606
xor eax, eax
jmp 0x4026f1
push str._Extractor__JNI_launch_failed._Attempting_legacy_spawn_instead_n
call fcn.0040935a
pop ecx
push str._Extractor__Attempting_spawn_launch_n
call fcn.0040935a
mov dword [esp], str.Spawn_launch
call fcn.00409508
pop ecx
call fcn.00409558
call fcn.00406c51
push dword [ebx]
mov edi, eax
push edi
call fcn.00406caa
mov edx, dword [ebx + 4]
pop ecx
xor esi, esi
pop ecx
inc esi
jmp 0x402651
mov ecx, edi
call fcn.00406c7f
inc esi
mov edx, dword [ebx + esi*4]
test edx, edx
jne 0x402646
call fcn.00406e57
mov edi, eax
test edi, edi
je 0x402680
mov esi, 0x43e808
push esi
call fcn.0040935a
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.0040935a
push esi
call fcn.0040935a
add esp, 0xc
push edi
jmp 0x401b6c
xor esi, esi
inc esi
cmp dword [ebp + 0x20], esi
jne 0x4026ee
call fcn.00409558
call fcn.00406c51
push dword [ebx]
mov edi, eax
push edi
call fcn.00406caa
mov edx, dword [ebx + 4]
pop ecx
pop ecx
jmp 0x4026b4
mov ecx, edi
call fcn.00406c7f
inc esi
mov edx, dword [ebx + esi*4]
test edx, edx
jne 0x4026a9
call fcn.00406cd9
push edi
mov ebx, eax
call fcn.00417ee3
test ebx, ebx
pop ecx
je 0x4026ea
mov esi, 0x43e808
push esi
call fcn.0040935a
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.0040935a
push esi
call fcn.0040935a
add esp, 0xc
mov eax, ebx
jmp 0x4026f1
or eax, 0xffffffff
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00417ed4
leave
ret