Function at 0x1400043e0
Capabilities:
Read file on windows
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x88
mov rdi, rdx
mov qword [rsp + 0x30], rcx
mov rax, qword [0x1400c5038]
xor rax, rsp
mov qword [rsp + 0x80], rax
mov rax, qword [rdx + 0x28]
test eax, eax
jle 0x140004440
xor ebx, ebx
lea rsi, [0x1400b6791]
nop
mov rax, qword [rdi + 0x38]
mov rcx, qword [rax + rbx*8]
mov rdx, rsi
call fcn.14001b390
add rbx, 1
mov rax, qword [rdi + 0x28]
movsxd rcx, eax
cmp rbx, rcx
jl 0x140004420
test rax, rax
je 0x14000447a
cmp byte [0x1400c5f00], 0
je 0x140004483
lea rdx, str.Cannot_answer_interactive_prompts_in_batch_mode
mov rsi, qword [rsp + 0x30]
mov rcx, rsi
call fcn.14001a360
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.14006cf60
mov rax, rsi
jmp 0x1400047b8
mov rbx, 0xffffffffffffffff
jmp 0x14000449b
mov ecx, 0xfffffff6
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x1400047f8
mov al, byte [rdi + 0x10]
test al, al
je 0x1400044a9
cmp qword [rdi + 8], 0
jne 0x1400044bb
cmp qword [rdi + 0x18], 0
jne 0x1400044bb
cmp qword [rdi + 0x28], 0
je 0x1400047cc
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
cmp rax, 0xffffffffffffffff
je 0x1400047e0
mov r13, rax
mov al, byte [rdi + 0x10]
test al, al
je 0x14000456c
mov rsi, qword [rdi + 8]
test rsi, rsi
je 0x14000456c
mov rcx, rsi
call fcn.14007fac0
mov rbp, rax
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x38]
mov rcx, r13
mov rdx, rsi
mov r8d, ebp
call qword [sym.imp.KERNEL32.dll_WriteFile]
lea rax, [0x1400b670d]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], 1
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x40], rbp
lea rcx, [rsp + 0x38]
lea rdx, [rsp + 0x70]
xor r8d, r8d
call fcn.14001b510
test al, al
jne 0x14000456c
mov qword [rsp + 0x20], 0
lea rdx, [0x1400b670d]
lea r9, [rsp + 0x38]
mov rcx, r13
mov r8d, 1
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rsi, qword [rdi + 0x18]
test rsi, rsi
je 0x1400045fa
mov rcx, rsi
call fcn.14007fac0
mov rbp, rax
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x38]
mov rcx, r13
mov rdx, rsi
mov r8d, ebp
call qword [sym.imp.KERNEL32.dll_WriteFile]
lea rax, [0x1400b670d]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], 1
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x40], rbp
lea rcx, [rsp + 0x38]
lea rdx, [rsp + 0x60]
xor r8d, r8d
call fcn.14001b510
test al, al
jne 0x1400045fa
mov qword [rsp + 0x20], 0
lea rdx, [0x1400b670d]
lea r9, [rsp + 0x38]
mov rcx, r13
mov r8d, 1
call qword [sym.imp.KERNEL32.dll_WriteFile]
cmp qword [rdi + 0x28], 0
je 0x140004790
xor r15d, r15d
lea rsi, [rsp + 0x58]
mov r12, qword [sym.imp.KERNEL32.dll_ReadFile]
nop word cs:[rax + rax]
nop
mov rax, qword [rdi + 0x38]
mov r14, qword [rax + r15*8]
mov rcx, rbx
lea rdx, [rsp + 0x5c]
call qword [sym.imp.KERNEL32.dll_GetConsoleMode]
mov edx, dword [rsp + 0x5c]
mov eax, edx
or eax, 7
and edx, 0xfffffff8
or edx, 3
cmp byte [r14 + 8], 0
cmovne edx, eax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SetConsoleMode]
mov rbp, qword [r14]
mov rcx, rbp
call fcn.14007fac0
mov qword [rsp + 0x20], 0
mov rcx, r13
mov rdx, rbp
mov r8d, eax
lea r9, [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_WriteFile]
nop
mov rcx, qword [r14 + 0x10]
mov rbp, qword [rcx + 0x10]
mov edx, 0x4000
call fcn.1400164f0
mov dword [rsp + 0x58], 0
mov qword [rsp + 0x20], 0
mov rcx, rbx
mov rdx, rax
mov r8d, 0x4000
mov r9, rsi
call r12
test eax, eax
je 0x1400046f0
mov eax, dword [rsp + 0x58]
test rax, rax
je 0x140004730
add rbp, rax
mov rcx, qword [r14 + 0x10]
mov rdx, rbp
call fcn.140016550
mov rcx, qword [r14 + 0x10]
mov dl, 0xa
call fcn.1400165e0
test al, al
je 0x140004680
mov rcx, qword [r14 + 0x10]
mov dl, 0xd
call fcn.1400165e0
mov bpl, 1
jmp 0x140004745
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, [rsp + 0x38]
lea rdx, str.Error_reading_from_console
mov r8d, eax
call fcn.14001b5f0
movups xmm0, xmmword [rsp + 0x38]
movups xmm1, xmmword [rsp + 0x48]
mov rax, qword [rsp + 0x30]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
jmp 0x140004743
mov rax, qword [rsp + 0x30]
mov dword [rax], 1
mov qword [rax + 0x10], 0
xor ebp, ebp
mov edx, dword [rsp + 0x5c]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SetConsoleMode]
cmp byte [r14 + 8], 0
jne 0x14000477d
mov qword [rsp + 0x20], 0
mov rcx, r13
lea rdx, [0x1400b670c]
mov r8d, 2
lea r9, [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test bpl, bpl
je 0x1400047a3
add r15, 1
cmp r15, qword [rdi + 0x28]
jb 0x140004620
mov rax, qword [rsp + 0x30]
mov dword [rax], 3
mov qword [rax + 0x10], 0
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.14006cf60
mov rax, qword [rsp + 0x30]
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r13, 0xffffffffffffffff
test al, al
jne 0x1400044de
jmp 0x14000456c
mov ecx, 2
call fcn.14006ef00
lea rcx, str.Cannot_get_standard_output_handle_n
mov edx, 0x22
jmp 0x14000480e
mov ecx, 2
call fcn.14006ef00
lea rcx, str.Cannot_get_standard_input_handle_n
mov edx, 0x21
mov r8d, 1
mov r9, rax
call fcn.14007da68
mov ecx, 1
call fcn.140003b70
int3