Function at 0x14000bad0
Capabilities:
Create directory
Read file on windows

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
lea rbp, [rsp + 0x20]
lea rsi, str.libgcc_s_dw2_1.dll
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rbx, rax
test rax, rax
je 0x140001670
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rdi, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.__register_frame_info
mov rcx, rbx
mov qword [0x140636040], rax
call rdi
lea rdx, str.__deregister_frame_info
mov rcx, rbx
mov rsi, rax
call rdi
mov qword [section..data], rax
test rsi, rsi
je 0x140001653
lea rdx, [0x140636060]
lea rcx, [section..eh_fram]
call rsi
lea rcx, [0x140001690]
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
jmp fcn.140001583
lea rax, [0x1400015d0]
lea rsi, [0x1400015c0]
mov qword [section..data], rax
jmp 0x140001643
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
mov rbx, rdx
call fcn.1400043c7
call fcn.140001ee5
mov rcx, rbx
call fcn.1400021cb
lea rcx, [0x140631092]
mov rsi, rax
test rax, rax
je 0x14000bbf4
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__mkdir]
inc eax
jne 0x14000bb2f
mov rdi, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
call rdi
cmp dword [rax], 0x11
je 0x14000bb2f
call rdi
mov rdx, qword [rbx]
mov r8, rsi
lea rcx, str._s:_creation_of_private_cache_subdirectory__s_failed__errno__i__n
mov r9d, dword [rax]
jmp 0x14000bb84
lea rcx, str.PATH
call fcn.1400016d0
mov rcx, qword [rbx]
mov rdx, rax
call fcn.140001cbc
mov rcx, rax
mov rdi, rax
call fcn.140001e73
lea r9, [rsp + 0x28]
mov r8, rsi
lea rcx, str.par.exe
mov rdx, rax
call fcn.140001a8d
test eax, eax
jne 0x14000bb89
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov r8, qword [rsp + 0x28]
mov rdx, qword [rbx]
lea rcx, str._s:_extraction_of__s__custom_Perl_interpreter__failed__errno_i__n
mov r9d, dword [rax]
call fcn.140002037
dec eax
jne 0x14000bc78
mov rcx, rdi
mov r8d, 0x1ed
mov edx, 0x8000
call sub.api_ms_win_crt_stdio_l1_1_0.dll__open
mov edi, eax
cmp eax, 0xffffffff
jne 0x14000bbcc
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
lea r8, str.open_my_prog
lea rdx, str.assertion_failed:__s_n
mov rcx, rax
call fcn.140001c29
mov ecx, edi
lea rbp, [rsp + 0x20]
call fcn.1400026fe
mov r8d, 2
mov rdx, rbp
mov ecx, edi
call sub.api_ms_win_crt_stdio_l1_1_0.dll__read
cmp eax, 2
je 0x14000bbf9
lea rcx, str.short_read
call fcn.140002037
mov ecx, edi
call sub.api_ms_win_crt_stdio_l1_1_0.dll__close
inc eax
jne 0x14000bc0d
lea rcx, str.close_failed
jmp 0x14000bbf4
mov rcx, qword [rsp + 0x28]
mov r8d, 0x1ed
mov edx, 0x8002
call sub.api_ms_win_crt_stdio_l1_1_0.dll__open
mov edi, eax
cmp eax, 0xffffffff
jne 0x14000bc4a
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
lea r8, str.open_my_perl
lea rdx, str.assertion_failed:__s_n
mov rcx, rax
call fcn.140001c29
mov ecx, edi
call fcn.1400026fe
mov ecx, edi
mov r8d, 2
mov rdx, rbp
call sub.api_ms_win_crt_stdio_l1_1_0.dll__write
lea rcx, str.short_write
cmp eax, 2
jne 0x14000bbf4
mov ecx, edi
call sub.api_ms_win_crt_stdio_l1_1_0.dll__close
inc eax
je 0x14000bc04
lea rdi, str.libstdc_6.dll
lea rbp, [rsp + 0x20]
mov rdx, qword [rdi]
test rdx, rdx
je 0x14000bcc1
mov r9, rbp
mov r8, rsi
mov rcx, rdi
call fcn.140001a8d
test eax, eax
jne 0x14000bcbb
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov r8, qword [rsp + 0x20]
mov rdx, qword [rbx]
lea rcx, str._s:_extraction_of__s_failed__errno_i__n
mov r9d, dword [rax]
jmp 0x14000bb84
add rdi, 0x18
jmp 0x14000bc84
mov rdx, qword [rsp + 0x28]
mov rcx, qword [rbx]
mov r8, rsi
call fcn.1400028d7
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp 0x1400015e0