Function at 0x1400caad9
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
xor edi, edi
mov r15d, r8d
movsxd r12, ecx
mov rsi, rdx
test r8d, r8d
jne 0x1400cab0b
xor eax, eax
jmp 0x1400cadfe
test rdx, rdx
jne 0x1400cab33
call fcn.1400c6a52
mov dword [rax], edi
call fcn.1400c6a79
mov dword [rax], reloc.OLEAUT32.dll_SafeArrayAccessData
call fcn.1400c6937
or eax, 0xffffffff
jmp 0x1400cadfe
mov r14, r12
lea rax, [0x140188d00]
and r14d, 0x3f
mov r13, r12
sar r13, 6
shl r14, 6
mov qword [rbp - 0x10], r13
mov rcx, qword [rax + r13*8]
mov bl, byte [rcx + r14 + 0x39]
lea eax, [rbx - 1]
cmp al, 1
ja 0x1400cab71
mov eax, r15d
not eax
test al, 1
je 0x1400cab14
test byte [rcx + r14 + 0x38], 0x20
je 0x1400cab8b
xor edx, edx
mov ecx, r12d
lea r8d, [rdx + 2]
call fcn.1400d050f
mov ecx, r12d
mov qword [rbp - 0x20], rdi
call fcn.1400cf2f1
test eax, eax
je 0x1400cacbb
lea rax, [0x140188d00]
mov rax, qword [rax + r13*8]
test byte [rax + r14 + 0x38], 0x80
je 0x1400cacbb
call fcn.1400c6f25
mov rcx, qword [rax + 0x90]
cmp qword [rcx + 0x138], rdi
jne 0x1400cabe5
lea rax, [0x140188d00]
mov rax, qword [rax + r13*8]
cmp byte [rax + r14 + 0x39], dil
je 0x1400cacbb
lea rax, [0x140188d00]
mov rcx, qword [rax + r13*8]
lea rdx, [rbp - 8]
mov rcx, qword [rcx + r14 + 0x28]
call qword [sym.imp.KERNEL32.dll_GetConsoleMode]
test eax, eax
je 0x1400cacbb
test bl, bl
je 0x1400cac9d
dec bl
cmp bl, 1
ja 0x1400cad75
and dword [rbp - 0x30], edi
lea r12, [rsi + r15]
xor ebx, ebx
mov r15, rsi
mov dword [rbp - 0x2c], ebx
cmp rsi, r12
jae 0x1400cad6b
movzx r13d, word [r15]
movzx ecx, r13w
call fcn.1400d0517
cmp ax, r13w
jne 0x1400cac8b
add ebx, 2
mov dword [rbp - 0x2c], ebx
cmp r13w, 0xa
jne 0x1400cac79
mov r13d, SafeArrayGetElemsize
mov ecx, r13d
call fcn.1400d0517
cmp ax, r13w
jne 0x1400cac8b
inc ebx
mov dword [rbp - 0x2c], ebx
inc edi
add r15, 2
cmp r15, r12
jae 0x1400cac94
jmp 0x1400cac32
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x30], eax
mov r13, qword [rbp - 0x10]
jmp 0x1400cad6b
mov r9d, r15d
lea rcx, [rbp - 0x30]
mov r8, rsi
mov edx, r12d
call fcn.1400ca3b8
movsd xmm0, qword [rax]
mov edi, dword [rax + 8]
jmp 0x1400cad70
lea rax, [0x140188d00]
mov rcx, qword [rax + r13*8]
test byte [rcx + r14 + 0x38], 0x80
je 0x1400cad34
movsx ecx, bl
test bl, bl
je 0x1400cad1d
sub ecx, 1
je 0x1400cad06
cmp ecx, 1
jne 0x1400cad75
mov r9d, r15d
lea rcx, [rbp - 0x30]
mov r8, rsi
mov edx, r12d
call fcn.1400ca70c
jmp 0x1400cacaf
mov r9d, r15d
lea rcx, [rbp - 0x30]
mov r8, rsi
mov edx, r12d
call fcn.1400ca843
jmp 0x1400cacaf
mov r9d, r15d
lea rcx, [rbp - 0x30]
mov r8, rsi
mov edx, r12d
call fcn.1400ca5e5
jmp 0x1400cacaf
mov rcx, qword [rcx + r14 + 0x28]
lea r9, [rbp - 0x2c]
and dword [rbp - 0x30], edi
xor eax, eax
and qword [rsp + 0x20], rax
mov r8d, r15d
mov rdx, rsi
mov qword [rbp - 0x2c], rax
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x1400cad68
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x30], eax
mov edi, dword [rbp - 0x28]
movsd xmm0, qword [rbp - 0x30]
movsd qword [rbp - 0x20], xmm0
mov rax, qword [rbp - 0x20]
shr rax, 0x20
test eax, eax
jne 0x1400cadf9
mov eax, dword [rbp - 0x20]
test eax, eax
je 0x1400cadc1
cmp eax, 5
jne 0x1400cadb4
call fcn.1400c6a79
mov dword [rax], 9
call fcn.1400c6a52
mov dword [rax], 5
jmp 0x1400cab2b
mov ecx, dword [rbp - 0x20]
call fcn.1400c69f7
jmp 0x1400cab2b
lea rax, [0x140188d00]
mov rax, qword [rax + r13*8]
test byte [rax + r14 + 0x38], 0x40
je 0x1400cade1
cmp byte [rsi], 0x1a
je 0x1400cab04
call fcn.1400c6a79
mov dword [rax], 0x1c
call fcn.1400c6a52
and dword [rax], 0
jmp 0x1400cab2b
mov eax, dword [rbp - 0x1c]
sub eax, edi
mov rbx, qword [rsp + 0xb8]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret