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.00439550
sub rsp, rax
mov r13, rcx
lea rcx, str.Launching
mov r12, rdx
call fcn.0040c10c
mov edi, dword [rsp + 0x6380]
mov rbx, qword [rsp + 0x6360]
mov rbp, 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], rbp
call fcn.0040bf40
mov r14d, 0x1f40
mov rcx, r14
call fcn.00417180
mov rcx, r14
xor esi, esi
mov qword [rsp + 0x70], rax
call fcn.00417180
lea rcx, [rsp + 0x3bd0]
mov rdx, r13
mov byte [rsp + 0x3bd0], sil
mov r15, rax
mov qword [rsp + 0x60], rax
call fcn.00417450
lea rcx, [rsp + 0x3bd0]
mov rdx, rbx
call fcn.0040bea0
lea r9, str.JWrapperLaunch
lea rcx, [rsp + 0x4f60]
mov r8, rbx
mov rdx, r13
call fcn.0040bf08
lea rdx, [0x0044c898]
lea rcx, [rsp + 0x4f60]
call fcn.00418f50
test rax, rax
mov r14, rax
mov qword [rsp + 0x68], rax
jne 0x401df9
lea rdx, [rsp + 0x4f60]
lea rcx, str.Unable_to_open_launch_file__s_n
call fcn.0040c00c
lea ecx, [rsi + 1]
call fcn.00418870
int3
lea rdx, str.LaunchFile_VER
mov r8d, 0x28
mov rcx, rax
call fcn.0040a110
mov rcx, rax
call fcn.00418db0
mov ebx, 0x400
lea rdx, str.Class
mov r8d, ebx
mov rcx, r14
mov dword [rsp + 0x50], eax
call fcn.0040a110
lea rdx, str.Class_OnUpdate
mov r8d, ebx
mov rcx, r14
mov qword [rsp + 0x80], rax
call fcn.0040a110
lea rdx, str.App_Name
mov r8d, ebx
mov rcx, r14
call fcn.0040a110
lea rdx, str.OS_ICNS
mov r8d, 0x400
mov rcx, r14
mov rbx, rax
call fcn.0040a110
mov r13d, 0x28
lea rdx, str.URL_Required
mov r8d, r13d
mov rcx, r14
call fcn.0040a110
mov rcx, rax
call fcn.00418db0
lea rdx, str.jvmMem__old_
mov r8d, r13d
mov rcx, r14
call fcn.0040a110
mov rcx, rax
call fcn.00418db0
lea rdx, str.jvmStack__old_
mov r8d, r13d
mov rcx, r14
mov dword [rsp + 0x78], eax
call fcn.0040a110
mov rcx, rax
call fcn.00418db0
mov rcx, qword [rsp + 0x6340]
xor r13d, r13d
mov rdx, rbp
mov qword [rsp + 0x58], r13
mov dword [rsp + 0x7c], eax
call fcn.0040c2b8
test edi, edi
mov qword [rsp + 0x90], rax
jne 0x4020bf
test rax, rax
mov rbp, rax
je 0x4020a8
lea rcx, str._Extractor__Using_private_JRE__s_n
mov rdx, rax
call fcn.0040bf40
mov rdx, qword [rsp + 0x6340]
lea r9, [0x0044c494]
lea rcx, [rsp + 0x14b0]
mov r8, rbp
call fcn.0040bf08
lea rdx, [rsp + 0x14b0]
lea rcx, [rsp + 0x120]
mov byte [rsp + 0x120], sil
call fcn.00417450
lea rdx, str.windowslauncher.exe
lea rcx, [rsp + 0x120]
call fcn.0040bea0
lea rcx, [rsp + 0x120]
call fcn.0040b634
test eax, eax
jne 0x401fa6
lea rdx, [rsp + 0x14b0]
lea rcx, [rsp + 0x120]
mov byte [rsp + 0x120], sil
call fcn.00417450
lea rdx, str.javaw.exe
lea rcx, [rsp + 0x120]
call fcn.0040bea0
lea rcx, [rsp + 0x14b0]
mov rdx, rbx
call fcn.0040bea0
lea rdx, str..exe
lea rcx, [rsp + 0x14b0]
call fcn.00417450
lea rcx, [rsp + 0x14b0]
call fcn.0040b634
test eax, eax
jne 0x40202e
lea rdx, [rsp + 0x14b0]
lea rcx, str._Extractor__Copying_FILE__s_n
call fcn.0040bf40
lea rdx, [0x0044c898]
lea rcx, [rsp + 0x120]
call fcn.00418f50
test rax, rax
jne 0x40201e
lea rdx, [rsp + 0x120]
lea rcx, str._Extractor___Unable_to_open_source_file_for_copy__s_n
call fcn.0040bf40
jmp 0x40202e
lea rcx, [rsp + 0x14b0]
mov rdx, rax
call fcn.004016b0
mov rcx, rbp
call fcn.00417390
mov ebx, 0xffffffff
xor edx, edx
xor ecx, ecx
test eax, eax
movsxd r8, eax
lea edi, [rbx + 2]
jle 0x40205a
cmp byte [rcx + rbp], 0x5c
cmove ebx, edx
add rcx, rdi
add edx, edi
cmp rcx, r8
jl 0x402049
mov ecx, 0x2710
call fcn.00417180
mov rdx, qword [rsp + 0x6340]
lea r9, str.JRE_LastSuccessfulOptions_
lea r8, str.JWApps
mov rcx, rax
mov r13, rax
mov qword [rsp + 0x58], rax
call fcn.0040bf08
lea r11d, [rbx + 1]
movsxd rdx, r11d
mov rcx, r13
add rdx, rbp
call fcn.00417450
mov rdx, r13
lea rcx, str._Extractor__JRE_LSO_file_is__s_n
jmp 0x4020f4
lea rcx, str.No_private_JRE_available__n
call fcn.0040c00c
mov ecx, 1
call fcn.00418870
int3
mov edi, 1
cmp dword [rsp + 0x6380], edi
jne 0x4020f9
lea rcx, [rsp + 0x14b0]
mov rdx, rbp
mov byte [rsp + 0x14b0], sil
call fcn.00417450
lea rdx, [rsp + 0x14b0]
lea rcx, str._Extractor__Checking_for_existing_system_JRE__s_n
call fcn.0040bf40
mov ebp, dword [rsp + 0x78]
test ebp, ebp
jle 0x402128
mov ecx, 0x64
call fcn.00417180
lea rdx, str._Xmx_dm_c
xor r9d, r9d
mov rcx, rax
mov r8d, ebp
mov rbx, rax
call fcn.00418320
mov qword [r15], rbx
mov esi, edi
mov ebp, dword [rsp + 0x7c]
test ebp, ebp
jle 0x40215b
mov ecx, 0x64
call fcn.00417180
lea rdx, str._Xms_dm_c
xor r9d, r9d
mov rcx, rax
mov r8d, ebp
mov rbx, rax
call fcn.00418320
movsxd r11, esi
add esi, edi
mov qword [r15 + r11*8], rbx
lea rcx, str._Extractor__Building_classpath_n
call fcn.0040bf40
lea rdx, str.Classpath_Count
mov r8d, 0x28
mov rcx, r14
call fcn.0040a110
mov rcx, rax
call fcn.00418db0
movsxd rbx, eax
mov dword [rsp + 0x54], eax
mov rcx, rbx
mov qword [rsp + 0x98], rbx
shl rcx, 3
call fcn.00417180
xor ebp, ebp
test rbx, rbx
mov qword [rsp + 0x88], rax
jle 0x402245
mov r15, rax
mov r13, rbx
lea rdx, str.Classpath_Entry
mov r8d, 0x400
mov rcx, r14
call fcn.0040a110
mov r12, rax
mov rcx, rax
movsx edx, byte [rcx]
cmp edx, 0x2f
jne 0x4021de
mov byte [rcx], 0x5c
add rcx, rdi
test edx, edx
jne 0x4021d3
mov ecx, 0x3e8
call fcn.00417180
lea rdx, [rsp + 0x3bd0]
mov rcx, rax
mov rbx, rax
mov byte [rax], 0
call fcn.00417450
mov rdx, r12
mov rcx, rbx
call fcn.0040bea0
mov r11, rbx
movsx eax, byte [r11]
cmp eax, 0x2f
jne 0x402220
mov byte [r11], 0x5c
add r11, rdi
test eax, eax
jne 0x402213
mov qword [r15 + rbp*8], rbx
add rbp, rdi
cmp rbp, r13
jl 0x4021b8
mov r13, qword [rsp + 0x58]
mov r15, qword [rsp + 0x60]
mov r12, qword [rsp + 0x6348]
lea rcx, str._Extractor__Creating_launch_properties_n
call fcn.0040bf40
xor r11d, r11d
xor ecx, ecx
mov rdx, r12
mov al, byte [rdx]
add r11d, edi
add rdx, rdi
test al, al
jne 0x402269
add ecx, edi
jmp 0x40226b
xor ecx, ecx
cmp ecx, 2
jl 0x402259
lea eax, [r11 + 0x30d3e]
movsxd rcx, eax
call fcn.00417180
xor r8d, r8d
mov rdx, r12
mov byte [rax], 0
mov rbp, rax
xor eax, eax
mov cl, byte [rdx]
add r8d, edi
add rdx, rdi
test cl, cl
jne 0x40229d
add eax, edi
jmp 0x40229f
xor eax, eax
cmp eax, 2
jl 0x40228d
movsxd r8, r8d
mov rdx, r12
mov rcx, rbp
call fcn.00417ce0
mov r8, qword [rsp + 0x6368]
lea rdx, str.update_url
mov rcx, rbp
call fcn.0040a0d4
mov rcx, qword [rsp + 0x6368]
lea rdx, [0x0044ce2c]
call fcn.00419660
test eax, eax
jne 0x402317
mov rbx, qword [rsp + 0x6370]
test rbx, rbx
je 0x402317
lea rdx, str.jwdyna_
mov rcx, rbp
call fcn.00409fd8
lea rdx, str.update_url
mov rcx, rbp
call fcn.0040a068
mov rdx, rbx
mov rcx, rbp
call fcn.00409fd8
lea r8, [rsp + 0x3bd0]
lea rdx, str.app_dir
mov rcx, rbp
call fcn.0040a0d4
mov r8, qword [rsp + 0x6378]
lea rdx, str.jre_name
mov rcx, rbp
call fcn.0040a0d4
mov r8, qword [rsp + 0x63a0]
lea rdx, str.launched_from_dynprops
mov rcx, rbp
call fcn.0040a0d4
lea rcx, str._Extractor__Checking_LSO_file_n
call fcn.0040bf40
test r13, r13
je 0x40254f
lea rcx, str._Extractor__Reading__s_n
mov rdx, r13
call fcn.0040bf40
lea rdx, [0x0044c898]
mov rcx, r13
call fcn.00418f50
mov rcx, r13
xor r12d, r12d
mov rbx, rax
call fcn.0040b634
test eax, eax
je 0x4023e6
test rbx, rbx
jne 0x4023ef
cmp r12d, 5
jge 0x40255b
lea rcx, str._Extractor__LSO_file_does_exist._Retrying___d_...
mov edx, r12d
call fcn.0040bf40
lea rdx, [0x0044c898]
mov rcx, r13
call fcn.00418f50
test rax, rax
mov rbx, rax
jne 0x4023ef
mov ecx, 0x1f4
add r12d, edi
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x4023a6
test rbx, rbx
je 0x40255b
lea rcx, str._Extractor__JRE_LSO_file_exists_n
call fcn.0040bf40
lea rcx, [rsp + 0x120]
xor edx, edx
mov r8d, 0x1388
call fcn.00419160
lea rdx, str.LSO_Count
mov r8d, 0x28
mov rcx, rbx
call fcn.0040a110
mov rcx, rax
call fcn.00418db0
lea rcx, str._Extractor__Found__ld_JVM_Options_n
mov edx, eax
mov r14d, eax
call fcn.0040bf40
lea rdx, [0x0044cf2c]
lea rcx, [rsp + 0x120]
mov r8d, r14d
call fcn.00418320
lea r8, [rsp + 0x120]
lea rdx, str.jvm_options_count
mov rcx, rbp
call fcn.0040a0d4
xor r13d, r13d
test r14d, r14d
movsxd rax, esi
jle 0x402540
lea r15, [r15 + rax*8]
add esi, r14d
lea rdx, str.LSO_Entry
mov r8d, 0x400
mov rcx, rbx
call fcn.0040a110
lea rcx, [rsp + 0x120]
xor edx, edx
mov qword [r15], rax
mov r8d, 0x1388
add r15, 8
mov r12, rax
call fcn.00419160
lea rdx, str.jvm_options__d
lea rcx, [rsp + 0x120]
mov r8d, r13d
call fcn.00418320
mov rcx, r12
call fcn.00417390
cmp rax, 0x64
jae 0x4024e7
mov r8, r12
lea rcx, str._Extractor__Launch_Prop:__s___s_n
jmp 0x402514
lea rcx, [rsp + 0xb0]
mov r8d, 0x63
mov rdx, r12
call fcn.00418fe0
mov byte [rsp + 0x113], 0
lea r8, [rsp + 0xb0]
lea rcx, str._Extractor__Launch_Prop:__s___s..._n
lea rdx, [rsp + 0x120]
call fcn.0040bf40
lea rdx, [rsp + 0x120]
mov r8, r12
mov rcx, rbp
call fcn.0040a0d4
add r13d, edi
cmp r13d, r14d
jl 0x402482
mov rcx, rbx
call fcn.0041b830
mov r14, qword [rsp + 0x68]
jmp 0x40255b
lea rcx, str.Not_a_private_JRE__no_need_to_check_for_LSO_file__n
call fcn.0040c00c
lea rcx, str._Extractor__Writing_launch_properties_file_n
call fcn.0040bf40
xor r15d, r15d
lea rdx, [rsp + 0x3bd0]
lea rcx, [rsp + 0x2840]
mov r8b, dil
mov byte [rsp + 0x2840], r15b
call fcn.00401ac0
mov r8d, r15d
mov ecx, r15d
mov rdx, rbp
mov al, byte [rdx]
add r8d, edi
add rdx, rdi
cmp al, r15b
jne 0x4025a4
add ecx, edi
jmp 0x4025a7
mov ecx, r15d
cmp ecx, 2
jl 0x402593
lea rdx, [rsp + 0x2840]
lea rcx, str._Extractor__Writing_launch_properties_to__s__length:__d__n
add r8d, 0xfffffffe
call fcn.0040bf40
lea r13, [0x0044c8f0]
lea rcx, [rsp + 0x2840]
mov rdx, r13
call fcn.00418f50
cmp rax, r15
mov rbx, rax
jne 0x4026c2
mov r12d, r15d
lea rdx, [rsp + 0x3bd0]
lea rcx, [rsp + 0x2840]
mov r8b, dil
mov byte [rsp + 0x2840], r15b
call fcn.00401ac0
lea rdx, [rsp + 0x2840]
lea rcx, str._Retry__Writing_launch_properties_to__s_n
call fcn.0040bf40
lea rcx, [rsp + 0x2840]
mov rdx, r13
call fcn.00418f50
cmp rax, r15
mov rbx, rax
jne 0x4026c2
mov ecx, 0x1f4
add r12d, edi
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp r12d, 5
jl 0x4025ea
mov ecx, 0x800
call fcn.00417180
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.0040bf40
lea rcx, [rsp + 0x2840]
xor r8d, r8d
mov rdx, rbx
mov byte [rsp + 0x2840], r15b
call fcn.00401ac0
lea rcx, [rsp + 0x2840]
mov rdx, r13
call fcn.00418f50
cmp rax, r15
mov rbx, rax
jne 0x4026c2
lea rcx, str.Unable_to_write_Launch_Properties_file__Cannot_run__n
call fcn.0040c00c
mov ecx, 0x63
call fcn.00418870
int3
lea rcx, str._Extractor__Writing_to_file_n
call fcn.0040bf40
mov r11d, r15d
mov ecx, r15d
mov rdx, rbp
mov al, byte [rdx]
add r11d, edi
add rdx, rdi
cmp al, r15b
jne 0x4026e8
add ecx, edi
jmp 0x4026eb
mov ecx, r15d
cmp ecx, 2
jl 0x4026d7
lea eax, [r11 - 2]
mov r9, rbx
mov rdx, rdi
movsxd r8, eax
mov rcx, rbp
call fcn.0041ace0
mov rcx, rbx
call fcn.00418d30
mov rcx, rbx
call fcn.0041b830
lea rcx, str._Extractor__Finished_writing_launch_properties_file_n
call fcn.0040bf40
mov rbp, qword [rsp + 0x70]
lea r11, [rsp + 0x2840]
lea rdx, str.Extra_Args_Count
mov r8d, 0x28
mov rcx, r14
mov qword [rbp], r11
mov r12d, edi
mov dword [rsp + 0x58], edi
call fcn.0040a110
mov rcx, rax
call fcn.00418db0
lea rcx, str._Extractor__Reading__ld_extra_args_n
mov edx, eax
mov ebx, eax
call fcn.0040bf40
cmp ebx, r15d
mov r13d, 0x400
jle 0x40279d
lea r12d, [rbx + 1]
add rbp, 8
mov dword [rsp + 0x58], r12d
lea rdx, str.Extra_Args_Entry
mov r8d, r13d
mov rcx, r14
call fcn.0040a110
mov qword [rbp], rax
add rbp, 8
sub rbx, rdi
jne 0x40277e
mov ebp, dword [rsp + 0x50]
mov qword [rsp + 0xa0], r15
cmp ebp, 3
jl 0x4027da
lea rdx, str.Main_Class_JRECompatibility
mov r8d, r13d
mov rcx, r14
call fcn.0040a110
lea rcx, str._Extractor__Read_JRE_compatibility_class__s_n
mov rdx, rax
mov r15, rax
mov qword [rsp + 0xa0], rax
call fcn.0040bf40
cmp ebp, 4
jl 0x402803
lea rdx, str.Main_Class_PostInstall
mov r8d, r13d
mov rcx, r14
call fcn.0040a110
lea rdx, str.Main_Class_PreUninstall
mov r8d, r13d
mov rcx, r14
call fcn.0040a110
cmp ebp, 5
jl 0x4028da
lea rdx, str.App_JVM_Option_Count
mov r8d, 0x28
mov rcx, r14
call fcn.0040a110
mov rcx, rax
call fcn.00418db0
xor r8d, r8d
cmp dword [rsp + 0x78], r8d
mov r13d, eax
cmovg r8d, edi
cmp dword [rsp + 0x7c], 0
jle 0x402842
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.0040bf40
lea rcx, str._Extractor__Additional_JRE_option_count_is__d_n
mov edx, r13d
call fcn.0040bf40
test r13d, r13d
movsxd r11, esi
movsxd r14, ebx
jle 0x4028d5
mov rax, qword [rsp + 0x60]
mov r12, qword [rsp + 0x68]
lea rbp, [rax + r11*8]
lea rdx, str.App_JVM_Option_Entry
mov r8d, 0x400
mov rcx, r12
call fcn.0040a110
test r14, r14
mov rbx, rax
mov rdx, rax
je 0x4028bb
lea rcx, str._Extractor__Added_option__s_n
call fcn.0040bf40
mov qword [rbp], rbx
add esi, edi
add rbp, 8
jmp 0x4028c7
lea rcx, str._Extractor__Skipping_option__s_n
call fcn.0040bf40
sub r13, rdi
jne 0x402883
mov r12d, dword [rsp + 0x58]
mov ebp, dword [rsp + 0x50]
mov r14, qword [rsp + 0x68]
cmp ebp, 6
jl 0x4028fc
lea rdx, str.Must_Fork
mov r8d, 0x28
mov rcx, r14
call fcn.0040a110
mov rcx, rax
call fcn.00418db0
cmp ebp, 7
jl 0x4029e5
xor r14d, r14d
test esi, esi
jle 0x4029e5
mov r12, qword [rsp + 0x60]
mov r15, qword [rsp + 0x68]
mov rbp, rdi
mov r13, r12
lea rdx, str.JVM_Platform_Entry
mov r8d, 0x400
mov rcx, r15
call fcn.0040a110
test rax, rax
mov rbx, rax
je 0x4029c5
mov rcx, rax
call fcn.00417390
test rax, rax
je 0x4029c5
lea rdx, [0x0044c264]
mov rcx, rbx
call fcn.004189f0
test rax, rax
jne 0x402999
lea rdx, [0x0044c268]
mov rcx, rbx
call fcn.004189f0
test rax, rax
jne 0x402999
lea rdx, [0x0044c26c]
mov rcx, rbx
call fcn.004189f0
lea rdx, [0x0044c270]
mov rcx, rbx
call fcn.004189f0
test rax, rax
je 0x4029c5
lea rcx, str._Extractor__Ignoring_platform_specific_option__s_n
mov rdx, rbx
call fcn.0040bf40
movsxd rcx, esi
mov r11, rbp
cmp rbp, rcx
jge 0x4029c3
mov rax, qword [r12 + r11*8]
add r11, rdi
cmp r11, rcx
mov qword [r13], rax
jl 0x4029b3
sub esi, edi
add r14d, edi
add rbp, rdi
add r13, 8
cmp r14d, esi
jl 0x402920
mov r12d, dword [rsp + 0x58]
mov r15, qword [rsp + 0xa0]
mov r14, qword [rsp + 0x60]
xor r13d, r13d
test esi, esi
jle 0x402a45
mov rbp, rdi
mov rbx, r14
mov rcx, qword [rbx]
lea rdx, str.sun.awt.fontconfig
call fcn.004189f0
test rax, rax
je 0x402a36
mov rdx, qword [rbx]
lea rcx, str._Extractor__Ignoring_invalid_option__s_n
call fcn.0040bf40
movsxd rcx, esi
mov r11, rbp
cmp rbp, rcx
jge 0x402a34
mov rax, qword [r14 + r11*8]
add r11, rdi
cmp r11, rcx
mov qword [rbx], rax
jl 0x402a25
sub esi, edi
add r13d, edi
add rbp, rdi
add rbx, 8
cmp r13d, esi
jl 0x4029f7
mov eax, dword [rsp + 0x6380]
test eax, eax
jne 0x402a5a
mov rbp, qword [rsp + 0x80]
jmp 0x402a70
mov rbp, qword [rsp + 0x90]
cmp eax, edi
cmove rbp, r15
mov qword [rsp + 0x80], rbp
movsxd rbx, dword [rsp + 0x6350]
movsxd rax, r12d
test rbx, rbx
jle 0x402aa0
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x6358]
mov r8, rbx
lea rcx, [rcx + rax*8]
shl r8, 3
call fcn.00417ce0
add r12d, ebx
lea rdx, [rsp + 0x14b0]
lea rcx, str._Extractor___Launch__Executable:__s_n
call fcn.0040bf40
lea rcx, str._Extractor___Launch__Class:__s_n
mov rdx, rbp
call fcn.0040bf40
xor ebp, ebp
xor ebx, ebx
test esi, esi
movsxd r13, esi
jle 0x402aea
mov r8, qword [r14 + rbx*8]
lea rcx, str._Extractor___Launch__JVM_Argument__d:__s_n
mov edx, ebp
call fcn.0040bf40
add rbx, rdi
add ebp, edi
cmp rbx, r13
jl 0x402ace
mov r13, qword [rsp + 0x98]
mov r15, qword [rsp + 0x88]
xor ebp, ebp
xor ebx, ebx
test r13, r13
jle 0x402b1f
mov r8, qword [r15 + rbx*8]
lea rcx, str._Extractor___Launch__ClassPath__d:__s_n
mov edx, ebp
call fcn.0040bf40
add rbx, rdi
add ebp, edi
cmp rbx, r13
jl 0x402b03
xor ebp, ebp
xor ebx, ebx
test r12d, r12d
movsxd r13, r12d
jle 0x402b51
mov r14, qword [rsp + 0x70]
mov r8, qword [r14 + rbx*8]
lea rcx, str._Extractor___Launch__App_Argument__d:__s_n
mov edx, ebp
call fcn.0040bf40
add rbx, rdi
add ebp, edi
cmp rbx, r13
jl 0x402b30
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.0040bf40
mov rcx, qword [rsp + 0x68]
call fcn.0041b830
xor ebp, ebp
cmp ebx, ebp
jne 0x402d5c
mov rdx, qword [rsp + 0x6340]
lea rcx, [rsp + 0x120]
mov byte [rsp + 0x120], bpl
call fcn.00417450
mov rdx, qword [rsp + 0x90]
lea rcx, [rsp + 0x120]
call fcn.0040bea0
lea rdx, [rsp + 0x120]
lea rcx, str._Extractor__JRE_folder_is__s_n
call fcn.0040bf40
cmp dword [0x00469050], ebp
jne 0x402c55
lea rcx, str._Extractor__Force_spawn_is__d_so_attempting_to_launch_via_JNI_n
xor edx, edx
call fcn.0040bf40
lea rcx, str.JNI_Launch
call fcn.0040c10c
mov rax, qword [rsp + 0x70]
mov r13, qword [rsp + 0x80]
mov ebp, dword [rsp + 0x54]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], r12d
lea rdx, [rsp + 0x120]
mov r9, r14
mov r8d, esi
mov rcx, r13
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], ebp
call fcn.004075e0
lea rcx, str._Extractor__Return_code_for_JNI_launch_was__d_n
mov edx, eax
mov ebx, eax
call fcn.0040bf40
lea rcx, str.JNI_Launch
call fcn.0040c144
test ebx, ebx
jne 0x402c47
xor eax, eax
jmp 0x402e59
lea rcx, str._Extractor__JNI_launch_failed._Attempting_legacy_spawn_instead_n
call fcn.0040bf40
jmp 0x402c61
mov r13, qword [rsp + 0x80]
mov ebp, dword [rsp + 0x54]
lea rcx, str._Extractor__Attempting_spawn_launch_n
call fcn.0040bf40
lea rcx, str.Spawn_launch
call fcn.0040c10c
lea rax, [rsp + 0x50]
lea rcx, [rsp + 0x14b0]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x70]
mov r9, r14
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], r12d
mov r8d, esi
mov rdx, r13
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x50], 0
mov dword [rsp + 0x20], ebp
call fcn.00401b9c
lea rcx, str._Utils__Closing_logging_file._n
mov rbx, rax
call fcn.0040bf40
mov rcx, qword [0x00469170]
test rcx, rcx
je 0x402ce4
call fcn.0041b830
mov qword [0x00469170], 0
call fcn.00408718
mov rdx, qword [rbx]
mov rcx, rax
mov rsi, rax
call fcn.00408788
mov ecx, dword [rsp + 0x50]
cmp ecx, edi
jle 0x402d1c
add rbx, 8
add ecx, 0xffffffff
mov ebp, ecx
mov rdx, qword [rbx]
mov rcx, rsi
call fcn.00408750
add rbx, 8
sub rbp, rdi
jne 0x402d08
xor edx, edx
mov rcx, rsi
call fcn.00408968
test eax, eax
movsxd rbx, eax
je 0x402d54
lea rcx, [0x0044d5a8]
call fcn.0040bf40
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.0040bf40
lea rcx, [0x0044d5a8]
call fcn.0040bf40
mov ecx, ebx
call fcn.00418870
int3
cmp ebx, edi
jne 0x402e52
mov rdx, qword [rsp + 0x80]
lea rax, [rsp + 0x50]
mov dword [rsp + 0x50], ebp
mov ebp, dword [rsp + 0x54]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], r12d
lea rcx, [rsp + 0x14b0]
mov r9, r14
mov r8d, esi
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], ebp
call fcn.00401b9c
lea rcx, str._Utils__Closing_logging_file._n
mov rsi, rax
call fcn.0040bf40
mov rcx, qword [0x00469170]
test rcx, rcx
je 0x402dd4
call fcn.0041b830
mov qword [0x00469170], 0
call fcn.00408718
mov rdx, qword [rsi]
mov rcx, rax
mov rbx, rax
call fcn.00408788
mov ecx, dword [rsp + 0x50]
cmp ecx, edi
jle 0x402e0c
add rsi, 8
add ecx, 0xffffffff
mov ebp, ecx
mov rdx, qword [rsi]
mov rcx, rbx
call fcn.00408750
add rsi, 8
sub rbp, rdi
jne 0x402df8
xor edx, edx
mov rcx, rbx
call fcn.004087c0
mov rcx, rbx
mov rdi, rax
call fcn.00417140
test rdi, rdi
je 0x402e4d
lea rcx, [0x0044d5a8]
call fcn.0040bf40
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.0040bf40
lea rcx, [0x0044d5a8]
call fcn.0040bf40
mov rax, rdi
jmp 0x402e59
mov rax, 0xffffffffffffffff
add rsp, 0x62f8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret