Function at 0x140002274
Capabilities:
Create directory
Read file on windows
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov rdi, rdx
lea rbx, [0x1400043ce]
mov rdx, rbx
lea rcx, [0x140004400]
call fcn.140001194
mov rdx, rbx
lea rcx, [0x140004410]
call fcn.140001194
mov rdx, rbx
lea rcx, [0x140004418]
call fcn.140001194
mov rdx, rbx
lea rcx, [0x140004424]
call fcn.140001194
mov rdx, rbx
lea rcx, [0x140004430]
call fcn.140001194
mov rdx, rbx
lea rcx, [0x140004440]
call fcn.140001194
mov rdx, rbx
lea rcx, [0x1400043d0]
call fcn.140001194
mov rdx, rbx
lea rcx, [0x140004450]
call fcn.140001194
mov rdx, rbx
lea rcx, [0x140004460]
call fcn.140001194
mov rdx, rbx
lea rcx, [0x140004470]
call fcn.140001194
mov rdx, rbx
lea rcx, [0x1400043e0]
call fcn.140001194
lea rcx, [0x140004480]
call fcn.1400010e8
test rax, rax
je 0x140002357
mov rdx, rax
lea rcx, [0x140004460]
call fcn.140001194
lea rcx, [0x140004498]
call fcn.1400010e8
test rax, rax
je 0x140002377
mov rdx, rax
lea rcx, [0x1400044b0]
call fcn.140001194
lea rcx, [0x1400044c0]
call fcn.1400010e8
test rax, rax
je 0x140002391
lea rcx, [0x1400043d0]
jmp 0x1400023a9
lea rcx, [0x1400044d0]
call fcn.1400010e8
test rax, rax
je 0x1400023b1
lea rcx, [0x140004450]
mov rdx, rax
call fcn.140001194
lea rdx, [0x1400044e4]
lea rcx, [0x140004430]
call fcn.140001194
mov rcx, rdi
call fcn.140001708
mov rsi, rax
test rax, rax
jne 0x1400023dd
mov rcx, rbx
call fcn.140001480
int3
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__mkdir]
cmp eax, 0xffffffff
jne 0x140002412
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
cmp dword [rax], 0x11
je 0x140002412
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov rdx, qword [rdi]
lea rcx, str._s:_creation_of_private_cache_subdirectory__s_failed__errno__i__n
mov r8, rsi
mov r9d, dword [rax]
call fcn.140001480
int3
lea rcx, [0x140004584]
call fcn.1400010e8
mov rcx, qword [rdi]
mov rdx, rax
call fcn.140001208
movsx edx, byte [0x1400043c0]
mov rcx, rax
mov rbx, rax
call qword [sym.imp.VCRUNTIME140.dll_strrchr]
test rax, rax
mov rcx, rbx
lea rdx, [rax + 1]
cmovne rcx, rdx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strdup]
lea r9, [rsp + 0x48]
mov r8, rsi
mov rdx, rax
lea rcx, str.par.exe
call fcn.140001eec
test eax, eax
jne 0x140002489
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov r8, qword [rsp + 0x48]
lea rcx, str._s:_extraction_of__s__custom_Perl_interpreter__failed__errno_i__n
mov rdx, qword [rdi]
mov r9d, dword [rax]
call fcn.140001480
int3
mov rbp, qword [rsp + 0x48]
cmp eax, 1
jne 0x14000258a
mov edx, 0x8000
mov r8d, 0x1ed
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__open]
mov ebx, eax
cmp eax, 0xffffffff
jne 0x1400024d1
lea ecx, [rax + 3]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea r8, str.open_my_prog
lea rdx, str.assertion_failed:__s_n
call fcn.14000104c
mov ecx, ebx
call fcn.14000203c
mov r8d, 2
lea rdx, [rsp + 0x48]
mov ecx, ebx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__read]
cmp eax, 2
je 0x1400024fd
lea rcx, [0x1400045a8]
call fcn.140001480
int3
mov ecx, ebx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__close]
cmp eax, 0xffffffff
je 0x14000257d
mov edx, 0x8002
mov r8d, 0x1ed
mov rcx, rbp
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__open]
mov ebx, eax
cmp eax, 0xffffffff
jne 0x140002544
lea ecx, [rax + 3]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea r8, str.open_my_perl
lea rdx, str.assertion_failed:__s_n
call fcn.14000104c
mov ecx, ebx
call fcn.14000203c
mov r8d, 2
lea rdx, [rsp + 0x48]
mov ecx, ebx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__write]
cmp eax, 2
je 0x140002570
lea rcx, str.short_write
call fcn.140001480
int3
mov ecx, ebx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__close]
cmp eax, 0xffffffff
jne 0x14000258a
lea rcx, str.close_failed
call fcn.140001480
int3
mov rax, qword [0x1403216f8]
lea rbx, [0x1403216f8]
jmp 0x1400025b8
lea r9, [rsp + 0x48]
mov r8, rsi
mov rdx, rax
mov rcx, rbx
call fcn.140001eec
test eax, eax
je 0x140002607
add rbx, 0x18
mov rax, qword [rbx]
test rax, rax
jne 0x14000259a
lea rcx, str.user32
mov qword [rdi], rbp
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
test rax, rax
je 0x1400025ec
lea rdx, str.AllowSetForegroundWindow
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400025ec
or ecx, 0xffffffff
call rax
lea rdx, [0x1400044e4]
lea rcx, [0x140004440]
call fcn.140001194
mov rax, qword [rdi]
mov rbx, rdi
jmp 0x140002662
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov r8, qword [rsp + 0x48]
lea rcx, str._s:_extraction_of__s_failed__errno_i__n
mov rdx, qword [rdi]
mov r9d, dword [rax]
call fcn.140001480
int3
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strlen]
test eax, eax
je 0x140002650
mov rcx, qword [rbx]
cdqe
cmp byte [rax + rcx - 1], 0x5c
je 0x140002650
lea rdx, str.__t_n_r_v_
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strpbrk]
test rax, rax
je 0x14000265b
mov rcx, qword [rbx]
call fcn.1400021ac
mov qword [rbx], rax
add rbx, 8
mov rax, qword [rbx]
test rax, rax
jne 0x140002625
mov r8, rdi
mov rdx, rbp
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_process_l1_1_0.dll__spawnvp]
mov rcx, rsi
mov rbx, rax
call fcn.140001e58
mov ecx, ebx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3