Function at 0x401c28
Capabilities:
Read file on windows
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, 0x62e8
call fcn.004379e0
sub rsp, rax
mov rbp, rcx
lea rcx, str.Launching
call fcn.00409eac
mov esi, dword [rsp + 0x6370]
mov rbx, qword [rsp + 0x6350]
mov rdi, qword [rsp + 0x6368]
lea rcx, str._Extractor__Launching__s_from_master_folder__s_of_class__d_using_JRE__s_n
mov r9d, esi
mov rdx, rbx
mov r8, rbp
mov qword [rsp + 0x20], rdi
call fcn.00409ce0
mov r12d, 0x1f40
mov rcx, r12
call fcn.00414e40
xor r8d, r8d
mov rcx, r12
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x40], r8d
call fcn.00414e40
lea rcx, [rsp + 0x3bc0]
mov rdx, rbp
mov byte [rsp + 0x3bc0], 0
mov qword [rsp + 0x60], rax
call fcn.00415110
lea rcx, [rsp + 0x3bc0]
mov rdx, rbx
call fcn.00409c78
lea rcx, [rsp + 0x4f50]
mov rdx, rbp
mov byte [rsp + 0x4f50], 0
call fcn.00415110
lea rcx, [rsp + 0x4f50]
mov rdx, rbx
call fcn.00409c78
lea rdx, str.JWrapperLaunch
lea rcx, [rsp + 0x4f50]
call fcn.00409c78
lea rdx, [0x0043c288]
lea rcx, [rsp + 0x4f50]
call fcn.00417650
test rax, rax
mov r12, rax
mov qword [rsp + 0x50], rax
jne 0x401d61
lea rdx, [rsp + 0x4f50]
lea rcx, str.Unable_to_open_launch_file__s_n
call fcn.00409dac
lea ecx, [r12 + 1]
call fcn.00416440
int3
mov ebx, 0xfa0
mov rcx, rbx
call fcn.00414e40
mov r8, rbx
xor edx, edx
mov rcx, rax
mov rbp, rax
mov qword [rsp + 0x88], rax
call fcn.00417ae0
mov r14d, 0x28
lea rdx, str.LaunchFile_VER
mov r8d, r14d
mov rcx, r12
call fcn.00409394
mov rcx, rax
call fcn.00417300
mov r13d, 0x400
lea rdx, str.Class
mov r8d, r13d
mov rcx, r12
mov dword [rsp + 0x58], eax
call fcn.00409394
lea rdx, str.Class_OnUpdate
mov r8d, r13d
mov rcx, r12
mov qword [rsp + 0x78], rax
call fcn.00409394
lea rdx, str.App_Name
mov r8d, r13d
mov rcx, r12
call fcn.00409394
lea rdx, str.OS_ICNS
mov r8d, r13d
mov rcx, r12
mov rbx, rax
call fcn.00409394
lea rdx, str.URL_Required
mov r8d, r14d
mov rcx, r12
call fcn.00409394
mov rcx, rax
call fcn.00417300
lea rdx, str.jvmMem__old_
mov r8d, r14d
mov rcx, r12
call fcn.00409394
mov rcx, rax
call fcn.00417300
lea rdx, str.jvmStack__old_
mov r8d, r14d
mov rcx, r12
mov r13d, eax
call fcn.00409394
mov rcx, rax
call fcn.00417300
mov rcx, qword [rsp + 0x6330]
mov rdx, rdi
mov r15d, eax
xor r14d, r14d
call fcn.00409f1c
test esi, esi
mov rdi, rax
mov qword [rsp + 0x80], rax
jne 0x4020a9
test rax, rax
je 0x402092
lea rcx, str._Extractor__Using_private_JRE__s_n
mov rdx, rax
call fcn.00409ce0
mov rdx, qword [rsp + 0x6330]
lea rcx, [rsp + 0x14a0]
mov byte [rsp + 0x14a0], r14b
call fcn.00415110
lea rcx, [rsp + 0x14a0]
mov rdx, rdi
call fcn.00409c78
lea rdx, [0x0043be00]
lea rcx, [rsp + 0x14a0]
call fcn.00409c78
lea rdx, [rsp + 0x14a0]
lea rcx, [rsp + 0x110]
mov byte [rsp + 0x110], r14b
call fcn.00415110
lea rdx, str.javaw.exe
lea rcx, [rsp + 0x110]
call fcn.00409c78
lea rcx, [rsp + 0x14a0]
mov rdx, rbx
call fcn.00409c78
lea rdx, str..exe
lea rcx, [rsp + 0x14a0]
call fcn.00415110
lea rcx, [rsp + 0x14a0]
call fcn.004097f0
lea edi, [rsi + 1]
test eax, eax
jne 0x402005
lea rdx, [rsp + 0x14a0]
lea rcx, str._Extractor__Copying_FILE__s_n
call fcn.00409ce0
lea rdx, [0x0043c288]
lea rcx, [rsp + 0x110]
call fcn.00417650
test rax, rax
mov r12, rax
jne 0x401f86
lea rdx, [rsp + 0x110]
lea rcx, str._Extractor___Unable_to_open_source_file_for_copy__s_n
call fcn.00409ce0
jmp 0x402000
lea rdx, [0x0043c2e0]
lea rcx, [rsp + 0x14a0]
call fcn.00417650
test rax, rax
mov rsi, rax
jne 0x401fb3
lea rdx, [rsp + 0x14a0]
lea rcx, str._Extractor___Unable_to_open_destination_file_for_copy__s_n
jmp 0x401f7f
mov r14d, 0xc350
lea rcx, [0x0053ef10]
mov r9, r12
mov r8, r14
mov rdx, rdi
call fcn.00417fb0
test rax, rax
mov rbx, rax
je 0x401feb
lea rcx, [0x0053ef10]
mov r9, rsi
mov r8, rax
mov rdx, rdi
call fcn.00419660
cmp rbx, r14
je 0x401fb9
mov rcx, r12
call fcn.0041a4e0
mov rcx, rsi
call fcn.0041a4e0
mov r12, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x80]
mov rcx, rsi
call fcn.00415050
xor edx, edx
xor ecx, ecx
test eax, eax
mov ebx, 0xffffffff
movsxd r8, eax
jle 0x402036
cmp byte [rcx + rsi], 0x5c
cmove ebx, edx
add rcx, rdi
add edx, edi
cmp rcx, r8
jl 0x402025
mov ecx, 0x2710
call fcn.00414e40
mov rdx, qword [rsp + 0x6330]
mov rcx, rax
mov r14, rax
mov byte [rax], 0
call fcn.00415110
lea rdx, str.JWApps
mov rcx, r14
call fcn.00409c78
lea rdx, str.JRE_LastSuccessfulOptions_
mov rcx, r14
call fcn.00409c78
lea r11d, [rbx + 1]
mov rcx, r14
movsxd rdx, r11d
add rdx, rsi
call fcn.00415110
mov rdx, r14
lea rcx, str._Extractor__JRE_LSO_file_is__s_n
jmp 0x4020de
lea rcx, str.No_private_JRE_available__n
call fcn.00409dac
mov ecx, 1
call fcn.00416440
int3
mov edi, 1
cmp esi, edi
jne 0x4020e3
mov rdx, qword [rsp + 0x6368]
lea rcx, [rsp + 0x14a0]
mov byte [rsp + 0x14a0], r14b
call fcn.00415110
lea rdx, [rsp + 0x14a0]
lea rcx, str._Extractor__Checking_for_existing_system_JRE__s_n
call fcn.00409ce0
test r13d, r13d
lea rax, [rsp + 0x14a0]
mov esi, edi
mov qword [rbp], rax
jle 0x40216d
mov ecx, 0x64
call fcn.00414e40
lea rdx, str._Xmx
mov rcx, rax
mov rbx, rax
mov byte [rax], 0
call fcn.00415110
lea rdx, [0x0043c774]
lea rcx, [rsp + 0xa0]
mov r8d, r13d
mov byte [rsp + 0xa0], 0
call fcn.00415ed0
lea rdx, [rsp + 0xa0]
mov rcx, rbx
call fcn.00415110
lea rdx, [0x0043c778]
mov rcx, rbx
call fcn.00415110
mov rax, qword [rsp + 0x60]
mov qword [rbp + 8], rbx
mov esi, 2
mov r13d, edi
mov dword [rsp + 0x40], edi
mov qword [rax], rbx
jmp 0x402172
mov r13d, dword [rsp + 0x40]
test r15d, r15d
jle 0x4021f2
mov ecx, 0x64
call fcn.00414e40
lea rdx, str._Xms
mov rcx, rax
mov rbx, rax
mov byte [rax], 0
call fcn.00415110
lea rdx, [0x0043c774]
lea rcx, [rsp + 0xa0]
mov r8d, r15d
mov byte [rsp + 0xa0], 0
call fcn.00415ed0
lea rdx, [rsp + 0xa0]
mov rcx, rbx
call fcn.00415110
lea rdx, [0x0043c778]
mov rcx, rbx
call fcn.00415110
mov rcx, qword [rsp + 0x60]
movsxd r11, esi
movsxd rax, r13d
add esi, edi
add r13d, edi
mov qword [rcx + rax*8], rbx
mov qword [rbp + r11*8], rbx
mov dword [rsp + 0x40], r13d
movsxd rax, esi
lea rdx, [0x0043c784]
lea rcx, str._Extractor__Building_classpath_n
add esi, edi
mov qword [rbp + rax*8], rdx
mov dword [rsp + 0x44], esi
call fcn.00409ce0
mov ecx, 0xc350
call fcn.00414e40
lea rdx, str.Classpath_Count
mov r8d, 0x28
mov rcx, r12
mov byte [rax], 0
mov r13, rax
call fcn.00409394
mov rcx, rax
call fcn.00417300
movsxd rbx, eax
mov dword [rsp + 0x48], eax
mov rcx, rbx
shl rcx, 3
call fcn.00414e40
xor r12d, r12d
test rbx, rbx
mov qword [rsp + 0x70], rax
jle 0x40232d
mov rbp, qword [rsp + 0x50]
mov rsi, rax
test r12, r12
jle 0x402280
lea rdx, [0x0043c7b8]
mov rcx, r13
call fcn.00415110
lea rdx, str.Classpath_Entry
mov r8d, 0x400
mov rcx, rbp
call fcn.00409394
lea rdx, [rsp + 0x3bc0]
mov rcx, r13
mov r15, rax
call fcn.00415110
mov rdx, r15
mov rcx, r13
call fcn.00409c78
mov r11, r15
movsx ecx, byte [r11]
cmp ecx, 0x2f
jne 0x4022c3
mov byte [r11], 0x5c
add r11, rdi
test ecx, ecx
jne 0x4022b6
mov ecx, 0x3e8
call fcn.00414e40
lea rdx, [rsp + 0x3bc0]
mov rcx, rax
mov rbx, rax
mov byte [rax], 0
call fcn.00415110
mov rdx, r15
mov rcx, rbx
call fcn.00409c78
mov r11, rbx
movsx eax, byte [r11]
cmp eax, 0x2f
jne 0x402305
mov byte [r11], 0x5c
add r11, rdi
test eax, eax
jne 0x4022f8
movsxd rcx, dword [rsp + 0x48]
mov qword [rsi + r12*8], rbx
add r12, rdi
cmp r12, rcx
jl 0x40226c
mov esi, dword [rsp + 0x44]
mov rbp, qword [rsp + 0x88]
mov rax, r13
movsx ecx, byte [rax]
cmp ecx, 0x2f
jne 0x40233b
mov byte [rax], 0x5c
add rax, rdi
test ecx, ecx
jne 0x402330
movsxd rax, esi
lea rcx, str._Extractor__Creating_launch_properties_n
add esi, edi
mov qword [rbp + rax*8], r13
call fcn.00409ce0
mov r12, qword [rsp + 0x6338]
xor r11d, r11d
mov rdx, r12
xor ecx, ecx
mov al, byte [rdx]
add r11d, edi
add rdx, rdi
test al, al
jne 0x402378
add ecx, edi
jmp 0x40237a
xor ecx, ecx
cmp ecx, 2
jl 0x402368
lea eax, [r11 + 0x30d3e]
movsxd rcx, eax
call fcn.00414e40
xor r8d, r8d
mov rdx, r12
mov byte [rax], 0
mov rbx, rax
xor eax, eax
mov cl, byte [rdx]
add r8d, edi
add rdx, rdi
test cl, cl
jne 0x4023ac
add eax, edi
jmp 0x4023ae
xor eax, eax
cmp eax, 2
jl 0x40239c
movsxd r8, r8d
mov rdx, r12
mov rcx, rbx
call fcn.004159a0
mov r8, qword [rsp + 0x6358]
lea rdx, str.update_url
mov rcx, rbx
call fcn.00409358
mov rcx, qword [rsp + 0x6358]
lea rdx, [0x0043c804]
call fcn.00417fe0
test eax, eax
jne 0x402426
mov r12, qword [rsp + 0x6360]
test r12, r12
je 0x402426
lea rdx, str.jwdyna_
mov rcx, rbx
call fcn.0040925c
lea rdx, str.update_url
mov rcx, rbx
call fcn.004092ec
mov rdx, r12
mov rcx, rbx
call fcn.0040925c
lea r8, [rsp + 0x3bc0]
lea rdx, str.app_dir
mov rcx, rbx
call fcn.00409358
mov r8, qword [rsp + 0x6368]
lea rdx, str.jre_name
mov rcx, rbx
call fcn.00409358
mov r8, qword [rsp + 0x6390]
lea rdx, str.launched_from_dynprops
mov rcx, rbx
call fcn.00409358
lea rcx, str._Extractor__Checking_LSO_file_n
call fcn.00409ce0
test r14, r14
je 0x402696
lea rcx, str._Extractor__Reading__s_n
mov rdx, r14
call fcn.00409ce0
lea rdx, [0x0043c288]
mov rcx, r14
call fcn.00417650
mov rcx, r14
xor r13d, r13d
mov r12, rax
call fcn.004097f0
test eax, eax
je 0x4024f5
test r12, r12
jne 0x4024fe
cmp r13d, 5
jge 0x40268d
lea rcx, str._Extractor__LSO_file_does_exist._Retrying___d_...
mov edx, r13d
call fcn.00409ce0
lea rdx, [0x0043c288]
mov rcx, r14
call fcn.00417650
test rax, rax
mov r12, rax
jne 0x4024fe
mov ecx, 0x1f4
add r13d, edi
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x4024b5
test r12, r12
je 0x40268d
lea rcx, str._Extractor__JRE_LSO_file_exists_n
call fcn.00409ce0
lea rcx, [rsp + 0x110]
xor edx, edx
mov r8d, 0x1388
call fcn.00417ae0
lea rdx, str.LSO_Count
mov r8d, 0x28
mov rcx, r12
call fcn.00409394
mov rcx, rax
call fcn.00417300
lea rcx, str._Extractor__Found__ld_JVM_Options_n
mov edx, eax
mov r14d, eax
call fcn.00409ce0
lea rdx, [0x0043c904]
lea rcx, [rsp + 0x110]
mov r8d, r14d
call fcn.00415ed0
lea r8, [rsp + 0x110]
lea rdx, str.jvm_options_count
mov rcx, rbx
call fcn.00409358
movsxd rdx, dword [rsp + 0x40]
xor r15d, r15d
test r14d, r14d
movsxd rcx, esi
jle 0x402683
mov r8, qword [rsp + 0x60]
lea rcx, [rbp + rcx*8]
lea rax, [r8 + rdx*8]
add edx, r14d
add esi, r14d
mov dword [rsp + 0x44], esi
mov rsi, rcx
mov dword [rsp + 0x40], edx
mov rbp, rax
lea rdx, str.LSO_Entry
mov r8d, 0x400
mov rcx, r12
call fcn.00409394
lea rcx, [rsp + 0x110]
xor edx, edx
mov qword [rsi], rax
mov qword [rbp], rax
mov r8d, 0x1388
add rsi, 8
add rbp, 8
mov r13, rax
call fcn.00417ae0
lea rdx, str.jvm_options__d
lea rcx, [rsp + 0x110]
mov r8d, r15d
call fcn.00415ed0
mov rcx, r13
call fcn.00415050
cmp rax, 0x64
jae 0x40261e
mov r8, r13
lea rcx, str._Extractor__Launch_Prop:__s___s_n
jmp 0x40264b
lea rcx, [rsp + 0xa0]
mov r8d, 0x63
mov rdx, r13
call fcn.004176e0
mov byte [rsp + 0x103], 0
lea r8, [rsp + 0xa0]
lea rcx, str._Extractor__Launch_Prop:__s___s..._n
lea rdx, [rsp + 0x110]
call fcn.00409ce0
lea rdx, [rsp + 0x110]
mov r8, r13
mov rcx, rbx
call fcn.00409358
add r15d, edi
cmp r15d, r14d
jl 0x4025b1
mov esi, dword [rsp + 0x44]
mov rbp, qword [rsp + 0x88]
mov rcx, r12
call fcn.0041a4e0
jmp 0x4026a2
lea rcx, str.JRE_LSO_file_does_not_exist_n
jmp 0x40269d
lea rcx, str.Not_a_private_JRE__no_need_to_check_for_LSO_file__n
call fcn.00409dac
lea rcx, str._Extractor__Writing_launch_properties_file_n
mov r14d, esi
mov dword [rsp + 0x44], esi
add esi, edi
call fcn.00409ce0
lea rdx, [rsp + 0x3bc0]
lea rcx, [rsp + 0x2830]
mov byte [rsp + 0x2830], 0
call fcn.00401b6c
lea rdx, [rsp + 0x2830]
lea rcx, str._Extractor__Writing_launch_properties_to__s_n
call fcn.00409ce0
xor r11d, r11d
xor ecx, ecx
mov rdx, rbx
mov al, byte [rdx]
add r11d, edi
add rdx, rdi
test al, al
jne 0x402700
add ecx, edi
jmp 0x402702
xor ecx, ecx
cmp ecx, 2
jl 0x4026f0
lea edx, [r11 - 2]
lea rcx, str._Extractor__Launch_properties_length_is__d_n
call fcn.00409ce0
lea rdx, [0x0043c2e0]
lea rcx, [rsp + 0x2830]
call fcn.00417650
test rax, rax
mov r12, rax
jne 0x4027ae
xor r13d, r13d
lea rdx, [rsp + 0x3bc0]
lea rcx, [rsp + 0x2830]
mov byte [rsp + 0x2830], 0
call fcn.00401b6c
lea rdx, [rsp + 0x2830]
lea rcx, str._Retry__Writing_launch_properties_to__s_n
call fcn.00409ce0
lea rdx, [0x0043c2e0]
lea rcx, [rsp + 0x2830]
call fcn.00417650
test rax, rax
mov r12, rax
jne 0x4027ae
mov ecx, 0x1f4
add r13d, edi
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp r13d, 5
jl 0x402736
lea rcx, str.Unable_to_write_Launch_Properties_file__Cannot_run__n
call fcn.00409dac
lea ecx, [r12 + 0x63]
call fcn.00416440
int3
lea rcx, str._Extractor__Writing_to_file_n
call fcn.00409ce0
xor r11d, r11d
xor ecx, ecx
mov rdx, rbx
mov al, byte [rdx]
add r11d, edi
add rdx, rdi
test al, al
jne 0x4027d2
add ecx, edi
jmp 0x4027d4
xor ecx, ecx
cmp ecx, 2
jl 0x4027c2
lea eax, [r11 - 2]
mov r9, r12
mov rdx, rdi
movsxd r8, eax
mov rcx, rbx
call fcn.00419660
mov rcx, r12
call fcn.00417280
mov rcx, r12
call fcn.0041a4e0
lea rcx, str._Extractor__Finished_writing_launch_properties_file_n
call fcn.00409ce0
mov r15, qword [rsp + 0x50]
mov r12, qword [rsp + 0x68]
movsxd r11, esi
lea rax, [rsp + 0x2830]
lea rdx, str.Extra_Args_Count
mov qword [rbp + r11*8], rax
lea rax, [rsp + 0x2830]
mov r8d, 0x28
mov rcx, r15
add esi, edi
mov r13d, edi
mov qword [r12], rax
call fcn.00409394
mov rcx, rax
call fcn.00417300
lea rcx, str._Extractor__Reading__ld_extra_args_n
mov edx, eax
mov ebx, eax
call fcn.00409ce0
test ebx, ebx
movsxd r11, esi
jle 0x4028a6
add r12, 8
lea r14, [rbp + r11*8]
lea r13d, [rbx + 1]
add esi, ebx
lea rdx, str.Extra_Args_Entry
mov r8d, 0x400
mov rcx, r15
call fcn.00409394
mov qword [r14], rax
mov qword [r12], rax
add r14, 8
add r12, 8
sub rbx, rdi
jne 0x402878
mov r14d, dword [rsp + 0x44]
mov r12d, dword [rsp + 0x58]
xor ebx, ebx
cmp r12d, 3
jl 0x4028da
lea rdx, str.Main_Class_JRECompatibility
mov r8d, 0x400
mov rcx, r15
call fcn.00409394
lea rcx, str._Extractor__Read_JRE_compatibility_class__s_n
mov rdx, rax
mov rbx, rax
call fcn.00409ce0
cmp r12d, 4
jl 0x40290a
lea rdx, str.Main_Class_PostInstall
mov r8d, 0x400
mov rcx, r15
call fcn.00409394
lea rdx, str.Main_Class_PreUninstall
mov r8d, 0x400
mov rcx, r15
call fcn.00409394
cmp r12d, 5
jl 0x402953
lea rdx, str.App_JVM_Option_Count
mov r8d, 0x28
mov rcx, r15
call fcn.00409394
mov rcx, rax
call fcn.00417300
test eax, eax
jle 0x402953
mov r12d, eax
lea rdx, str.App_JVM_Option_Entry
mov r8d, 0x400
mov rcx, r15
call fcn.00409394
sub r12, rdi
jne 0x402934
mov r12d, dword [rsp + 0x58]
cmp r12d, 6
jl 0x402976
lea rdx, str.Must_Fork
mov r8d, 0x28
mov rcx, r15
call fcn.00409394
mov rcx, rax
call fcn.00417300
mov eax, dword [rsp + 0x6370]
test eax, eax
jne 0x402990
mov rcx, qword [rsp + 0x78]
movsxd rax, r14d
mov qword [rbp + rax*8], rcx
jmp 0x40299c
cmp eax, edi
jne 0x40299c
movsxd rax, r14d
mov qword [rbp + rax*8], rbx
movsxd rbx, dword [rsp + 0x6340]
lea rcx, str._Extractor__Appending__d_command_line_args_n
mov edx, ebx
call fcn.00409ce0
mov r14, qword [rsp + 0x68]
xor r11d, r11d
test ebx, ebx
movsxd rax, esi
movsxd rdx, r13d
jle 0x4029f8
mov r9, qword [rsp + 0x6348]
add r13d, ebx
lea rdx, [r14 + rdx*8]
add esi, ebx
lea r8, [rbp + rax*8]
mov rax, qword [r9 + r11*8]
mov qword [r8], rax
mov rax, qword [r9 + r11*8]
add r11, rdi
mov qword [rdx], rax
add rdx, 8
add r8, 8
cmp r11, rbx
jl 0x4029da
movsxd rsi, esi
lea rdx, [rsp + 0x14a0]
lea rcx, str._Extractor__Executable:__s_n
mov qword [rbp + rsi*8], 0
call fcn.00409ce0
xor r12d, r12d
xor ebx, ebx
test rsi, rsi
jle 0x402a41
mov r8, qword [rbp + rbx*8]
lea rcx, str._Extractor__Argument__d:__s_n
mov edx, r12d
call fcn.00409ce0
add rbx, rdi
add r12d, edi
cmp rbx, rsi
jl 0x402a22
mov ebx, dword [rsp + 0x6370]
lea rcx, str._Extractor__This_is_a_newer_extractor..._launchclass_is__d_n
xor r12d, r12d
mov edx, ebx
mov qword [rbp + rsi*8], r12
call fcn.00409ce0
mov rcx, r15
call fcn.0041a4e0
cmp ebx, r12d
jne 0x402bf7
mov rdx, qword [rsp + 0x6330]
lea rcx, [rsp + 0x110]
mov byte [rsp + 0x110], r12b
call fcn.00415110
mov rdx, qword [rsp + 0x80]
lea rcx, [rsp + 0x110]
call fcn.00409c78
lea rdx, [rsp + 0x110]
lea rcx, str._Extractor__JRE_folder_is__s_n
call fcn.00409ce0
cmp dword [0x0054b280], r12d
jne 0x402b48
lea rcx, str._Extractor__Force_spawn_is__d_so_attempting_to_launch_via_JNI_n
xor edx, edx
call fcn.00409ce0
lea rcx, str.JNI_Launch_n
call fcn.00409eac
mov rax, qword [rsp + 0x70]
mov r9, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x40]
mov rcx, qword [rsp + 0x78]
mov qword [rsp + 0x38], r14
mov dword [rsp + 0x30], r13d
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x48]
lea rdx, [rsp + 0x110]
mov dword [rsp + 0x20], eax
call fcn.004076b0
lea rcx, str._Extractor__Return_code_for_JNI_launch_was__d_n
mov edx, eax
mov ebx, eax
call fcn.00409ce0
lea rcx, str.JNI_Launch_n
call fcn.00409ee4
cmp ebx, r12d
jne 0x402b3c
xor eax, eax
jmp 0x402ca2
lea rcx, str._Extractor__JNI_launch_failed._Attempting_legacy_spawn_instead_n
call fcn.00409ce0
lea rcx, str._Extractor__Attempting_spawn_launch_n
call fcn.00409ce0
lea rcx, str.Spawn_launch_n
call fcn.00409eac
lea rcx, str._Utils__Closing_logging_file._n
call fcn.00409ce0
mov rcx, qword [0x0054b3a0]
cmp rcx, r12
je 0x402b84
call fcn.0041a4e0
mov qword [0x0054b3a0], r12
call fcn.00407e90
mov rdx, qword [rbp]
mov rcx, rax
mov rbx, rax
call fcn.00407f00
mov r11, qword [rbp + 8]
mov rsi, rdi
jmp 0x402bb1
mov rdx, r11
call fcn.00407ec8
add rsi, rdi
mov r11, qword [rbp + rsi*8]
cmp r11, r12
mov rcx, rbx
jne 0x402ba1
xor edx, edx
call fcn.004080e0
movsxd rbx, eax
cmp rbx, r12
je 0x402bef
lea rcx, [0x0043ce18]
call fcn.00409ce0
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.00409ce0
lea rcx, [0x0043ce18]
call fcn.00409ce0
mov ecx, ebx
call fcn.00416440
int3
cmp ebx, edi
jne 0x402c9b
lea rcx, str._Utils__Closing_logging_file._n
call fcn.00409ce0
mov rcx, qword [0x0054b3a0]
cmp rcx, r12
je 0x402c23
call fcn.0041a4e0
mov qword [0x0054b3a0], r12
call fcn.00407e90
mov rdx, qword [rbp]
mov rcx, rax
mov rbx, rax
call fcn.00407f00
mov r11, qword [rbp + 8]
mov rsi, rdi
jmp 0x402c50
mov rdx, r11
call fcn.00407ec8
add rsi, rdi
mov r11, qword [rbp + rsi*8]
cmp r11, r12
mov rcx, rbx
jne 0x402c40
xor edx, edx
call fcn.00407f38
mov rcx, rbx
mov rdi, rax
call fcn.00414e00
cmp rdi, r12
je 0x402c96
lea rcx, [0x0043ce18]
call fcn.00409ce0
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.00409ce0
lea rcx, [0x0043ce18]
call fcn.00409ce0
mov rax, rdi
jmp 0x402ca2
mov rax, 0xffffffffffffffff
add rsp, 0x62e8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret