Function at 0x401ce4
Capabilities:
Get common file path
Write file on windows

Disassembly:
mov qword [rsp + 0x20], r9
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x62f8
call fcn.004394e0
sub rsp, rax
mov r13, rcx
lea rcx, str.Launching
mov r15, rdx
call fcn.0040c098
mov edi, dword [rsp + 0x6380]
mov rbx, qword [rsp + 0x6360]
mov r12, qword [rsp + 0x6378]
lea rcx, str._Extractor__Launching__s_from_master_folder__s_of_class__d_using_JRE__s_n
mov r9d, edi
mov rdx, rbx
mov r8, r13
mov qword [rsp + 0x20], r12
call fcn.0040becc
mov ebp, 0x1f40
mov rcx, rbp
call fcn.00417100
mov rcx, rbp
xor esi, esi
mov qword [rsp + 0x80], rax
call fcn.00417100
lea rcx, [rsp + 0x3bd0]
mov rdx, r13
mov byte [rsp + 0x3bd0], sil
mov rbp, rax
mov qword [rsp + 0x60], rax
call fcn.004173d0
lea rcx, [rsp + 0x3bd0]
mov rdx, rbx
call fcn.0040be2c
lea r9, str.JWrapperLaunch
lea rcx, [rsp + 0x4f60]
mov r8, rbx
mov rdx, r13
call fcn.0040be94
lea rdx, [0x0044c878]
lea rcx, [rsp + 0x4f60]
call fcn.00418ed0
test rax, rax
mov r14, rax
mov qword [rsp + 0x70], rax
jne 0x401dfb
lea rdx, [rsp + 0x4f60]
lea rcx, str.Unable_to_open_launch_file__s_n
call fcn.0040bf98
lea ecx, [rsi + 1]
call fcn.004187f0
int3
lea rdx, str.LaunchFile_VER
mov r8d, 0x28
mov rcx, rax
call fcn.0040a09c
mov rcx, rax
call fcn.00418d30
mov ebx, 0x400
lea rdx, str.Class
mov r8d, ebx
mov rcx, r14
mov dword [rsp + 0x50], eax
call fcn.0040a09c
lea rdx, str.Class_OnUpdate
mov r8d, ebx
mov rcx, r14
mov qword [rsp + 0x88], rax
call fcn.0040a09c
lea rdx, str.App_Name
mov r8d, ebx
mov rcx, r14
call fcn.0040a09c
lea rdx, str.OS_ICNS
mov r8d, 0x400
mov rcx, r14
mov rbx, rax
call fcn.0040a09c
mov r13d, 0x28
lea rdx, str.URL_Required
mov r8d, r13d
mov rcx, r14
call fcn.0040a09c
mov rcx, rax
call fcn.00418d30
lea rdx, str.jvmMem__old_
mov r8d, r13d
mov rcx, r14
call fcn.0040a09c
mov rcx, rax
call fcn.00418d30
lea rdx, str.jvmStack__old_
mov r8d, r13d
mov rcx, r14
mov dword [rsp + 0x68], eax
call fcn.0040a09c
mov rcx, rax
call fcn.00418d30
mov rcx, qword [rsp + 0x6340]
xor r13d, r13d
mov rdx, r12
mov qword [rsp + 0x78], r13
mov dword [rsp + 0x58], eax
call fcn.0040c244
test edi, edi
mov qword [rsp + 0x98], rax
jne 0x4020c7
test rax, rax
mov r13, rax
je 0x4020b0
lea rcx, str._Extractor__Using_private_JRE__s_n
mov rdx, rax
call fcn.0040becc
mov rdx, qword [rsp + 0x6340]
lea r9, [0x0044c47c]
lea rcx, [rsp + 0x14b0]
mov r8, r13
call fcn.0040be94
lea rdx, [rsp + 0x14b0]
lea rcx, [rsp + 0x120]
mov byte [rsp + 0x120], sil
call fcn.004173d0
lea rdx, str.windowslauncher.exe
lea rcx, [rsp + 0x120]
call fcn.0040be2c
lea rcx, [rsp + 0x120]
call fcn.0040b5c0
test eax, eax
jne 0x401fa8
lea rdx, [rsp + 0x14b0]
lea rcx, [rsp + 0x120]
mov byte [rsp + 0x120], sil
call fcn.004173d0
lea rdx, str.javaw.exe
lea rcx, [rsp + 0x120]
call fcn.0040be2c
lea rcx, [rsp + 0x14b0]
mov rdx, rbx
call fcn.0040be2c
lea rdx, str..exe
lea rcx, [rsp + 0x14b0]
call fcn.004173d0
lea rcx, [rsp + 0x14b0]
call fcn.0040b5c0
test eax, eax
jne 0x402030
lea rdx, [rsp + 0x14b0]
lea rcx, str._Extractor__Copying_FILE__s_n
call fcn.0040becc
lea rdx, [0x0044c878]
lea rcx, [rsp + 0x120]
call fcn.00418ed0
test rax, rax
jne 0x402020
lea rdx, [rsp + 0x120]
lea rcx, str._Extractor___Unable_to_open_source_file_for_copy__s_n
call fcn.0040becc
jmp 0x402030
lea rcx, [rsp + 0x14b0]
mov rdx, rax
call fcn.004016b0
mov rcx, r13
call fcn.00417310
mov ebx, 0xffffffff
xor edx, edx
xor ecx, ecx
test eax, eax
movsxd r8, eax
lea edi, [rbx + 2]
jle 0x40205d
cmp byte [rcx + r13], 0x5c
cmove ebx, edx
add rcx, rdi
add edx, edi
cmp rcx, r8
jl 0x40204b
mov ecx, 0x2710
call fcn.00417100
mov rdx, qword [rsp + 0x6340]
lea r9, str.JRE_LastSuccessfulOptions_
lea r8, str.JWApps
mov rcx, rax
mov r13, rax
mov qword [rsp + 0x78], rax
call fcn.0040be94
lea r11d, [rbx + 1]
movsxd rdx, r11d
mov rcx, r13
add rdx, qword [rsp + 0x98]
call fcn.004173d0
mov rdx, r13
lea rcx, str._Extractor__JRE_LSO_file_is__s_n
jmp 0x4020fc
lea rcx, str.No_private_JRE_available__n
call fcn.0040bf98
mov ecx, 1
call fcn.004187f0
int3
mov edi, 1
cmp dword [rsp + 0x6380], edi
jne 0x402101
lea rcx, [rsp + 0x14b0]
mov rdx, r12
mov byte [rsp + 0x14b0], sil
call fcn.004173d0
lea rdx, [rsp + 0x14b0]
lea rcx, str._Extractor__Checking_for_existing_system_JRE__s_n
call fcn.0040becc
cmp dword [rsp + 0x68], esi
jle 0x402131
mov ecx, 0x64
call fcn.00417100
mov r8d, dword [rsp + 0x68]
lea rdx, str._Xmx_dm_c
mov rcx, rax
xor r9d, r9d
mov rbx, rax
call fcn.004182a0
mov qword [rbp], rbx
mov esi, edi
cmp dword [rsp + 0x58], 0
jle 0x402166
mov ecx, 0x64
call fcn.00417100
mov r8d, dword [rsp + 0x58]
lea rdx, str._Xms_dm_c
mov rcx, rax
xor r9d, r9d
mov rbx, rax
call fcn.004182a0
movsxd r11, esi
add esi, edi
mov qword [rbp + r11*8], rbx
lea rcx, str._Extractor__Building_classpath_n
call fcn.0040becc
lea rdx, str.Classpath_Count
mov r8d, 0x28
mov rcx, r14
call fcn.0040a09c
mov rcx, rax
call fcn.00418d30
movsxd rbx, eax
mov dword [rsp + 0x54], eax
mov rcx, rbx
mov qword [rsp + 0x90], rbx
shl rcx, 3
call fcn.00417100
xor ebp, ebp
test rbx, rbx
mov qword [rsp + 0xa0], rax
jle 0x402253
mov r15, rax
mov r13, rbx
lea rdx, str.Classpath_Entry
mov r8d, 0x400
mov rcx, r14
call fcn.0040a09c
mov r12, rax
mov rcx, rax
movsx edx, byte [rcx]
cmp edx, 0x2f
jne 0x4021e9
mov byte [rcx], 0x5c
add rcx, rdi
test edx, edx
jne 0x4021de
mov ecx, 0x3e8
call fcn.00417100
lea rdx, [rsp + 0x3bd0]
mov rcx, rax
mov rbx, rax
mov byte [rax], 0
call fcn.004173d0
mov rdx, r12
mov rcx, rbx
call fcn.0040be2c
mov r11, rbx
movsx eax, byte [r11]
cmp eax, 0x2f
jne 0x40222b
mov byte [r11], 0x5c
add r11, rdi
test eax, eax
jne 0x40221e
mov qword [r15 + rbp*8], rbx
add rbp, rdi
cmp rbp, r13
jl 0x4021c3
mov r13, qword [rsp + 0x78]
mov r15, qword [rsp + 0x6348]
mov r12, qword [rsp + 0x6378]
lea rcx, str._Extractor__Creating_launch_properties_n
call fcn.0040becc
xor r11d, r11d
xor ecx, ecx
mov rdx, r15
mov al, byte [rdx]
add r11d, edi
add rdx, rdi
test al, al
jne 0x402277
add ecx, edi
jmp 0x402279
xor ecx, ecx
cmp ecx, 2
jl 0x402267
lea eax, [r11 + 0x30d3e]
movsxd rcx, eax
call fcn.00417100
xor r8d, r8d
mov rdx, r15
mov byte [rax], 0
mov rbp, rax
xor eax, eax
mov cl, byte [rdx]
add r8d, edi
add rdx, rdi
test cl, cl
jne 0x4022ab
add eax, edi
jmp 0x4022ad
xor eax, eax
cmp eax, 2
jl 0x40229b
movsxd r8, r8d
mov rdx, r15
mov rcx, rbp
call fcn.00417c60
mov r8, qword [rsp + 0x6368]
lea rdx, str.update_url
mov rcx, rbp
call fcn.0040a060
mov rcx, qword [rsp + 0x6368]
lea rdx, [0x0044ce0c]
call fcn.004195e0
test eax, eax
jne 0x402325
mov rbx, qword [rsp + 0x6370]
test rbx, rbx
je 0x402325
lea rdx, str.jwdyna_
mov rcx, rbp
call fcn.00409f64
lea rdx, str.update_url
mov rcx, rbp
call fcn.00409ff4
mov rdx, rbx
mov rcx, rbp
call fcn.00409f64
lea r8, [rsp + 0x3bd0]
lea rdx, str.app_dir
mov rcx, rbp
call fcn.0040a060
lea rdx, str.jre_name
mov r8, r12
mov rcx, rbp
call fcn.0040a060
mov r8, qword [rsp + 0x63a0]
lea rdx, str.launched_from_dynprops
mov rcx, rbp
call fcn.0040a060
lea rcx, str._Extractor__Checking_LSO_file_n
call fcn.0040becc
test r13, r13
je 0x40255d
lea rcx, str._Extractor__Reading__s_n
mov rdx, r13
call fcn.0040becc
lea rdx, [0x0044c878]
mov rcx, r13
call fcn.00418ed0
mov rcx, r13
xor r12d, r12d
mov rbx, rax
call fcn.0040b5c0
test eax, eax
je 0x4023ef
test rbx, rbx
jne 0x4023f8
cmp r12d, 5
jge 0x402569
lea rcx, str._Extractor__LSO_file_does_exist._Retrying___d_...
mov edx, r12d
call fcn.0040becc
lea rdx, [0x0044c878]
mov rcx, r13
call fcn.00418ed0
test rax, rax
mov rbx, rax
jne 0x4023f8
mov ecx, 0x1f4
add r12d, edi
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x4023af
test rbx, rbx
je 0x402569
lea rcx, str._Extractor__JRE_LSO_file_exists_n
call fcn.0040becc
lea rcx, [rsp + 0x120]
xor edx, edx
mov r8d, 0x1388
call fcn.004190e0
lea rdx, str.LSO_Count
mov r8d, 0x28
mov rcx, rbx
call fcn.0040a09c
mov rcx, rax
call fcn.00418d30
lea rcx, str._Extractor__Found__ld_JVM_Options_n
mov edx, eax
mov r14d, eax
call fcn.0040becc
lea rdx, [0x0044cf0c]
lea rcx, [rsp + 0x120]
mov r8d, r14d
call fcn.004182a0
lea r8, [rsp + 0x120]
lea rdx, str.jvm_options_count
mov rcx, rbp
call fcn.0040a060
xor r13d, r13d
test r14d, r14d
movsxd rax, esi
jle 0x40254e
mov rcx, qword [rsp + 0x60]
add esi, r14d
lea r15, [rcx + rax*8]
lea rdx, str.LSO_Entry
mov r8d, 0x400
mov rcx, rbx
call fcn.0040a09c
lea rcx, [rsp + 0x120]
xor edx, edx
mov qword [r15], rax
mov r8d, 0x1388
add r15, 8
mov r12, rax
call fcn.004190e0
lea rdx, str.jvm_options__d
lea rcx, [rsp + 0x120]
mov r8d, r13d
call fcn.004182a0
mov rcx, r12
call fcn.00417310
cmp rax, 0x64
jae 0x4024f5
mov r8, r12
lea rcx, str._Extractor__Launch_Prop:__s___s_n
jmp 0x402522
lea rcx, [rsp + 0xb0]
mov r8d, 0x63
mov rdx, r12
call fcn.00418f60
mov byte [rsp + 0x113], 0
lea r8, [rsp + 0xb0]
lea rcx, str._Extractor__Launch_Prop:__s___s..._n
lea rdx, [rsp + 0x120]
call fcn.0040becc
lea rdx, [rsp + 0x120]
mov r8, r12
mov rcx, rbp
call fcn.0040a060
add r13d, edi
cmp r13d, r14d
jl 0x402490
mov rcx, rbx
call fcn.0041b7b0
mov r14, qword [rsp + 0x70]
jmp 0x402569
lea rcx, str.Not_a_private_JRE__no_need_to_check_for_LSO_file__n
call fcn.0040bf98
lea rcx, str._Extractor__Writing_launch_properties_file_n
call fcn.0040becc
lea rdx, [rsp + 0x3bd0]
lea rcx, [rsp + 0x2840]
mov r8b, dil
mov byte [rsp + 0x2840], 0
call fcn.00401ac0
xor r8d, r8d
xor ecx, ecx
mov rdx, rbp
mov al, byte [rdx]
add r8d, edi
add rdx, rdi
test al, al
jne 0x4025ad
add ecx, edi
jmp 0x4025af
xor ecx, ecx
cmp ecx, 2
jl 0x40259d
lea rdx, [rsp + 0x2840]
lea rcx, str._Extractor__Writing_launch_properties_to__s__length:__d__n
add r8d, 0xfffffffe
call fcn.0040becc
lea r13, [0x0044c8d0]
lea rcx, [rsp + 0x2840]
mov rdx, r13
call fcn.00418ed0
test rax, rax
mov rbx, rax
jne 0x4026c8
xor r12d, r12d
lea rdx, [rsp + 0x3bd0]
lea rcx, [rsp + 0x2840]
mov r8b, dil
mov byte [rsp + 0x2840], 0
call fcn.00401ac0
lea rdx, [rsp + 0x2840]
lea rcx, str._Retry__Writing_launch_properties_to__s_n
call fcn.0040becc
lea rcx, [rsp + 0x2840]
mov rdx, r13
call fcn.00418ed0
test rax, rax
mov rbx, rax
jne 0x4026c8
mov ecx, 0x1f4
add r12d, edi
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp r12d, 5
jl 0x4025f2
mov ecx, 0x800
call fcn.00417100
mov ecx, 0x104
mov rdx, rax
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetTempPathA]
lea rcx, str._Retry__Attempting_to_write_to__s
mov rdx, rbx
call fcn.0040becc
lea rcx, [rsp + 0x2840]
xor r8d, r8d
mov rdx, rbx
mov byte [rsp + 0x2840], 0
call fcn.00401ac0
lea rcx, [rsp + 0x2840]
mov rdx, r13
call fcn.00418ed0
test rax, rax
mov rbx, rax
jne 0x4026c8
lea rcx, str.Unable_to_write_Launch_Properties_file__Cannot_run__n
call fcn.0040bf98
lea ecx, [rbx + 0x63]
call fcn.004187f0
int3
lea rcx, str._Extractor__Writing_to_file_n
call fcn.0040becc
xor r11d, r11d
xor ecx, ecx
mov rdx, rbp
mov al, byte [rdx]
add r11d, edi
add rdx, rdi
test al, al
jne 0x4026ec
add ecx, edi
jmp 0x4026ee
xor ecx, ecx
cmp ecx, 2
jl 0x4026dc
lea eax, [r11 - 2]
mov r9, rbx
mov rdx, rdi
movsxd r8, eax
mov rcx, rbp
call fcn.0041ac60
mov rcx, rbx
call fcn.00418cb0
mov rcx, rbx
call fcn.0041b7b0
lea rcx, str._Extractor__Finished_writing_launch_properties_file_n
call fcn.0040becc
mov r12, qword [rsp + 0x80]
lea r11, [rsp + 0x2840]
lea rdx, str.Extra_Args_Count
mov r8d, 0x28
mov rcx, r14
mov qword [r12], r11
mov ebp, edi
mov dword [rsp + 0x78], edi
call fcn.0040a09c
mov rcx, rax
call fcn.00418d30
lea rcx, str._Extractor__Reading__ld_extra_args_n
mov edx, eax
mov ebx, eax
call fcn.0040becc
test ebx, ebx
mov r13d, 0x400
jle 0x40279f
lea ebp, [rbx + 1]
add r12, 8
mov dword [rsp + 0x78], ebp
lea rdx, str.Extra_Args_Entry
mov r8d, r13d
mov rcx, r14
call fcn.0040a09c
mov qword [r12], rax
add r12, 8
sub rbx, rdi
jne 0x402780
mov r12d, dword [rsp + 0x50]
xor r15d, r15d
cmp r12d, 3
jl 0x4027d1
lea rdx, str.Main_Class_JRECompatibility
mov r8d, r13d
mov rcx, r14
call fcn.0040a09c
lea rcx, str._Extractor__Read_JRE_compatibility_class__s_n
mov rdx, rax
mov r15, rax
call fcn.0040becc
cmp r12d, 4
jl 0x4027fb
lea rdx, str.Main_Class_PostInstall
mov r8d, r13d
mov rcx, r14
call fcn.0040a09c
lea rdx, str.Main_Class_PreUninstall
mov r8d, r13d
mov rcx, r14
call fcn.0040a09c
cmp r12d, 5
jl 0x4028d3
lea rdx, str.App_JVM_Option_Count
mov r8d, 0x28
mov rcx, r14
call fcn.0040a09c
mov rcx, rax
call fcn.00418d30
xor r8d, r8d
cmp dword [rsp + 0x68], r8d
mov r13d, eax
cmovg r8d, edi
cmp dword [rsp + 0x58], 0
jle 0x40283b
add r8d, edi
xor ebx, ebx
cmp r8d, esi
lea rcx, str._Extractor__jvmArgCount:_d_emptyArgs:_d_so_addToJVM:_d_n
sete bl
mov edx, esi
mov r9d, ebx
call fcn.0040becc
lea rcx, str._Extractor__Additional_JRE_option_count_is__d_n
mov edx, r13d
call fcn.0040becc
test r13d, r13d
movsxd r11, esi
movsxd r14, ebx
jle 0x4028ce
mov rax, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x70]
lea r12, [rax + r11*8]
lea rdx, str.App_JVM_Option_Entry
mov r8d, 0x400
mov rcx, rbp
call fcn.0040a09c
test r14, r14
mov rbx, rax
mov rdx, rax
je 0x4028b4
lea rcx, str._Extractor__Added_option__s_n
call fcn.0040becc
mov qword [r12], rbx
add esi, edi
add r12, 8
jmp 0x4028c0
lea rcx, str._Extractor__Skipping_option__s_n
call fcn.0040becc
sub r13, rdi
jne 0x40287c
mov ebp, dword [rsp + 0x78]
mov r12d, dword [rsp + 0x50]
mov r14, qword [rsp + 0x70]
cmp r12d, 6
jl 0x4028f6
lea rdx, str.Must_Fork
mov r8d, 0x28
mov rcx, r14
call fcn.0040a09c
mov rcx, rax
call fcn.00418d30
cmp r12d, 7
jl 0x4029e3
xor r14d, r14d
test esi, esi
jle 0x4029e3
mov r13, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x70]
mov r12, rdi
lea rdx, str.JVM_Platform_Entry
mov r8d, 0x400
mov rcx, rbp
call fcn.0040a09c
test rax, rax
mov rbx, rax
je 0x4029cc
mov rcx, rax
call fcn.00417310
test rax, rax
je 0x4029cc
lea rdx, [0x0044c24c]
mov rcx, rbx
call fcn.00418970
test rax, rax
jne 0x402995
lea rdx, [0x0044c250]
mov rcx, rbx
call fcn.00418970
test rax, rax
jne 0x402995
lea rdx, [0x0044c254]
mov rcx, rbx
call fcn.00418970
lea rdx, [0x0044c258]
mov rcx, rbx
call fcn.00418970
test rax, rax
je 0x4029cc
lea rcx, str._Extractor__Ignoring_platform_specific_option__s_n
mov rdx, rbx
call fcn.0040becc
movsxd rcx, esi
mov r11, r12
cmp r12, rcx
jge 0x4029ca
mov rbp, qword [rsp + 0x60]
mov rax, qword [rbp + r11*8]
add r11, rdi
cmp r11, rcx
mov qword [r13], rax
jl 0x4029b4
mov rbp, qword [rsp + 0x70]
sub esi, edi
add r14d, edi
add r12, rdi
add r13, 8
cmp r14d, esi
jl 0x402918
mov ebp, dword [rsp + 0x78]
mov eax, dword [rsp + 0x6380]
test eax, eax
jne 0x4029f8
mov r12, qword [rsp + 0x88]
jmp 0x402a0e
mov r12, qword [rsp + 0x90]
cmp eax, edi
cmove r12, r15
mov qword [rsp + 0x88], r12
movsxd rbx, dword [rsp + 0x6350]
movsxd rax, ebp
test rbx, rbx
jle 0x402a40
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x6358]
mov r8, rbx
lea rcx, [rcx + rax*8]
shl r8, 3
call fcn.00417c60
add ebp, ebx
lea rdx, [rsp + 0x14b0]
lea rcx, str._Extractor___Launch__Executable:__s_n
call fcn.0040becc
lea rcx, str._Extractor___Launch__Class:__s_n
mov rdx, r12
call fcn.0040becc
mov r14, qword [rsp + 0x60]
xor r12d, r12d
xor ebx, ebx
test esi, esi
movsxd r13, esi
jle 0x402a92
mov r8, qword [r14 + rbx*8]
lea rcx, str._Extractor___Launch__JVM_Argument__d:__s_n
mov edx, r12d
call fcn.0040becc
add rbx, rdi
add r12d, edi
cmp rbx, r13
jl 0x402a74
mov r13, qword [rsp + 0x90]
mov r15, qword [rsp + 0xa0]
xor r12d, r12d
xor ebx, ebx
test r13, r13
jle 0x402aca
mov r8, qword [r15 + rbx*8]
lea rcx, str._Extractor___Launch__ClassPath__d:__s_n
mov edx, r12d
call fcn.0040becc
add rbx, rdi
add r12d, edi
cmp rbx, r13
jl 0x402aac
xor r12d, r12d
xor ebx, ebx
test ebp, ebp
movsxd r13, ebp
jle 0x402b01
mov r14, qword [rsp + 0x80]
mov r8, qword [r14 + rbx*8]
lea rcx, str._Extractor___Launch__App_Argument__d:__s_n
mov edx, r12d
call fcn.0040becc
add rbx, rdi
add r12d, edi
cmp rbx, r13
jl 0x402ade
mov r14, qword [rsp + 0x60]
mov ebx, dword [rsp + 0x6380]
lea rcx, str._Extractor__This_is_a_newer_extractor..._launchclass_is__d_n
mov edx, ebx
call fcn.0040becc
mov rcx, qword [rsp + 0x70]
call fcn.0041b7b0
xor r12d, r12d
cmp ebx, r12d
jne 0x402d17
mov rdx, qword [rsp + 0x6340]
lea rcx, [rsp + 0x120]
mov byte [rsp + 0x120], r12b
call fcn.004173d0
mov rdx, qword [rsp + 0x98]
lea rcx, [rsp + 0x120]
call fcn.0040be2c
lea rdx, [rsp + 0x120]
lea rcx, str._Extractor__JRE_folder_is__s_n
call fcn.0040becc
cmp dword [0x00469050], r12d
jne 0x402c0c
lea rcx, str._Extractor__Force_spawn_is__d_so_attempting_to_launch_via_JNI_n
xor edx, edx
call fcn.0040becc
lea rcx, str.JNI_Launch
call fcn.0040c098
mov rax, qword [rsp + 0x80]
mov r13, qword [rsp + 0x88]
mov r12d, dword [rsp + 0x54]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], ebp
lea rdx, [rsp + 0x120]
mov r9, r14
mov r8d, esi
mov rcx, r13
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], r12d
call fcn.004075a0
lea rcx, str._Extractor__Return_code_for_JNI_launch_was__d_n
mov edx, eax
mov ebx, eax
call fcn.0040becc
lea rcx, str.JNI_Launch
call fcn.0040c0d0
test ebx, ebx
jne 0x402bfe
xor eax, eax
jmp 0x402e19
lea rcx, str._Extractor__JNI_launch_failed._Attempting_legacy_spawn_instead_n
call fcn.0040becc
jmp 0x402c19
mov r13, qword [rsp + 0x88]
mov r12d, dword [rsp + 0x54]
lea rcx, str._Extractor__Attempting_spawn_launch_n
call fcn.0040becc
lea rcx, str.Spawn_launch
call fcn.0040c098
lea rax, [rsp + 0x50]
lea rcx, [rsp + 0x14b0]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x80]
mov r9, r14
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], ebp
mov r8d, esi
mov rdx, r13
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x50], 0
mov dword [rsp + 0x20], r12d
call fcn.00401b9c
lea rcx, str._Utils__Closing_logging_file._n
mov rbx, rax
call fcn.0040becc
mov rcx, qword [0x00469170]
test rcx, rcx
je 0x402c9f
call fcn.0041b7b0
mov qword [0x00469170], 0
call fcn.004086a4
mov rdx, qword [rbx]
mov rcx, rax
mov rsi, rax
call fcn.00408714
mov ecx, dword [rsp + 0x50]
cmp ecx, edi
jle 0x402cd7
add rbx, 8
add ecx, 0xffffffff
mov ebp, ecx
mov rdx, qword [rbx]
mov rcx, rsi
call fcn.004086dc
add rbx, 8
sub rbp, rdi
jne 0x402cc3
xor edx, edx
mov rcx, rsi
call fcn.004088f4
test eax, eax
movsxd rbx, eax
je 0x402d0f
lea rcx, [0x0044d568]
call fcn.0040becc
lea rcx, str._ERROR__Attempt_to_launch_app_failed_with_return_code__ld___app_likely_did_not_launch_at_all__n
mov rdx, rbx
call fcn.0040becc
lea rcx, [0x0044d568]
call fcn.0040becc
mov ecx, ebx
call fcn.004187f0
int3
cmp ebx, edi
jne 0x402e12
mov rdx, qword [rsp + 0x88]
lea rax, [rsp + 0x50]
mov dword [rsp + 0x50], r12d
mov r12d, dword [rsp + 0x54]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], ebp
lea rcx, [rsp + 0x14b0]
mov r9, r14
mov r8d, esi
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], r12d
call fcn.00401b9c
lea rcx, str._Utils__Closing_logging_file._n
mov rsi, rax
call fcn.0040becc
mov rcx, qword [0x00469170]
test rcx, rcx
je 0x402d94
call fcn.0041b7b0
mov qword [0x00469170], 0
call fcn.004086a4
mov rdx, qword [rsi]
mov rcx, rax
mov rbx, rax
call fcn.00408714
mov ecx, dword [rsp + 0x50]
cmp ecx, edi
jle 0x402dcc
add rsi, 8
add ecx, 0xffffffff
mov ebp, ecx
mov rdx, qword [rsi]
mov rcx, rbx
call fcn.004086dc
add rsi, 8
sub rbp, rdi
jne 0x402db8
xor edx, edx
mov rcx, rbx
call fcn.0040874c
mov rcx, rbx
mov rdi, rax
call fcn.004170c0
test rdi, rdi
je 0x402e0d
lea rcx, [0x0044d568]
call fcn.0040becc
lea rcx, str._ERROR__Attempt_to_launch_app_failed_with_return_code__ld___app_likely_did_not_launch_at_all__n
mov rdx, rdi
call fcn.0040becc
lea rcx, [0x0044d568]
call fcn.0040becc
mov rax, rdi
jmp 0x402e19
mov rax, 0xffffffffffffffff
add rsp, 0x62f8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret