Function at 0x14000ab10
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r14
lea rbp, [rsp - 0x37]
sub rsp, 0xd0
mov qword [rbp + 0x27], 0xfffffffffffffffe
mov rsi, rdx
mov r14, rcx
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 4
xor r9d, r9d
xor r8d, r8d
mov edx, 0x40000000
mov rcx, qword [rcx]
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rdi, rax
cmp rax, 0xffffffffffffffff
jne 0x14000ad14
lea rcx, [0x1400622e0]
mov rax, qword [0x1400622e0]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x7f], rax
lea rdx, str.Failed_to_open_file:
test rdx, 0xffffffffffff0000
jne 0x14000abba
movzx ebx, dx
xor edx, edx
mov ecx, ebx
call fcn.1400017a0
test rax, rax
je 0x14000abca
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp + 0x7f]
call fcn.140002140
jmp 0x14000abca
mov r8d, 0x15
lea rcx, [rbp + 0x7f]
call fcn.140002fd0
nop
lea rcx, [0x1400622e0]
mov rax, qword [0x1400622e0]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x77], rax
lea rdx, str.WriteToFile
test rdx, 0xffffffffffff0000
jne 0x14000ac15
movzx ebx, dx
xor edx, edx
mov ecx, ebx
call fcn.1400017a0
test rax, rax
je 0x14000ac25
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp + 0x77]
call fcn.140002140
jmp 0x14000ac25
mov r8d, 0xb
lea rcx, [rbp + 0x77]
call fcn.140002fd0
nop
lea rcx, [0x1400622e0]
mov rax, qword [0x1400622e0]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x31], rax
lea r8, [rbp + 0x7f]
lea rdx, [rbp - 0x31]
lea rcx, [rbp + 0xf]
call fcn.140003de0
nop
mov r8, r14
mov rdx, rax
lea rcx, [rbp - 0x19]
call fcn.140003de0
nop
mov r8d, 2
mov rdx, rax
lea rcx, [rbp + 0x77]
call fcn.140003820
nop
mov rdx, qword [rbp - 0x19]
add rdx, 0xffffffffffffffe8
or ebx, 0xffffffff
lock add dword [rdx + 0x10], ebx
jg 0x14000ac8e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0xf]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14000aca7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x31]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14000acc0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x77]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14000acd9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x7f]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14000acf6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsi]
sub rdx, 0x18
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14000ad0d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor al, al
jmp 0x14000b16e
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [rbp + 0x67], 0
mov rax, qword [rsi]
mov ebx, dword [rax - 0x10]
mov ecx, 1
sub ecx, dword [rax - 8]
mov eax, dword [rax - 0xc]
or eax, ecx
jge 0x14000ad4b
xor edx, edx
mov rcx, rsi
call fcn.1400029e0
mov qword [rsp + 0x20], 0
lea r9, [rbp + 0x67]
mov r8d, ebx
mov rdx, qword [rsi]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov r14d, eax
lea rcx, [0x1400622e0]
test eax, eax
jne 0x14000af12
mov rdx, qword [0x1400622e0]
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rbp - 0x49], rax
lea rdx, str.Failed_to_write_to_file:
test rdx, 0xffffffffffff0000
jne 0x14000adbd
movzx ebx, dx
xor edx, edx
mov ecx, ebx
call fcn.1400017a0
test rax, rax
je 0x14000adcd
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp - 0x49]
call fcn.140002140
jmp 0x14000adcd
mov r8d, 0x19
lea rcx, [rbp - 0x49]
call fcn.140002fd0
nop
lea rcx, [0x1400622e0]
mov rax, qword [0x1400622e0]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x41], rax
lea rdx, str.WriteToFile
test rdx, 0xffffffffffff0000
jne 0x14000ae18
movzx ebx, dx
xor edx, edx
mov ecx, ebx
call fcn.1400017a0
test rax, rax
je 0x14000ae28
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp - 0x41]
call fcn.140002140
jmp 0x14000ae28
mov r8d, 0xb
lea rcx, [rbp - 0x41]
call fcn.140002fd0
nop
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, [rbp - 0x11]
call fcn.140003f10
mov rbx, rax
lea rcx, [0x1400622e0]
mov rdx, qword [0x1400622e0]
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rbp - 0x29], rax
lea r8, [rbp - 0x49]
lea rdx, [rbp - 0x29]
lea rcx, [rbp + 0x1f]
call fcn.140003de0
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rbp - 1]
call fcn.140003de0
nop
mov r8d, 2
mov rdx, rax
lea rcx, [rbp - 0x41]
call fcn.140003820
nop
mov rdx, qword [rbp - 1]
add rdx, 0xffffffffffffffe8
or ebx, 0xffffffff
lock add dword [rdx + 0x10], ebx
jg 0x14000aea5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x1f]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14000aebe
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x29]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14000aed7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x11]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14000aef0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x41]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14000af09
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x49]
jmp 0x14000b115
mov rax, qword [0x1400622e0]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x51], rax
lea rdx, str._bytes_to_file
test rdx, 0xffffffffffff0000
jne 0x14000af56
movzx ebx, dx
xor edx, edx
mov ecx, ebx
call fcn.1400017a0
test rax, rax
je 0x14000af66
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp - 0x51]
call fcn.140002140
jmp 0x14000af66
mov r8d, 0xe
lea rcx, [rbp - 0x51]
call fcn.140002fd0
nop
lea rcx, [0x1400622e0]
mov rax, qword [0x1400622e0]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x59], rax
lea rdx, str.Wrote
test rdx, 0xffffffffffff0000
jne 0x14000afb1
movzx ebx, dx
xor edx, edx
mov ecx, ebx
call fcn.1400017a0
test rax, rax
je 0x14000afc1
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp - 0x59]
call fcn.140002140
jmp 0x14000afc1
mov r8d, 6
lea rcx, [rbp - 0x59]
call fcn.140002fd0
nop
lea rcx, [0x1400622e0]
mov rax, qword [0x1400622e0]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x39], rax
lea rdx, str.WriteToFile
test rdx, 0xffffffffffff0000
jne 0x14000b00c
movzx ebx, dx
xor edx, edx
mov ecx, ebx
call fcn.1400017a0
test rax, rax
je 0x14000b01c
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp - 0x39]
call fcn.140002140
jmp 0x14000b01c
mov r8d, 0xb
lea rcx, [rbp - 0x39]
call fcn.140002fd0
nop
lea rcx, [0x1400622e0]
mov rax, qword [0x1400622e0]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x21], rax
lea r8, [rbp - 0x59]
lea rdx, [rbp - 0x21]
lea rcx, [rbp + 0x17]
call fcn.140003de0
nop
mov r8d, dword [rbp + 0x67]
mov rdx, rax
lea rcx, [rbp + 7]
call fcn.140003e60
nop
lea r8, [rbp - 0x51]
mov rdx, rax
lea rcx, [rbp - 9]
call fcn.140003de0
nop
xor r8d, r8d
mov rdx, rax
lea rcx, [rbp - 0x39]
call fcn.140003820
nop
mov rdx, qword [rbp - 9]
add rdx, 0xffffffffffffffe8
or ebx, 0xffffffff
lock add dword [rdx + 0x10], ebx
jg 0x14000b094
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 7]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14000b0ad
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x17]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14000b0c6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x21]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14000b0df
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x39]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14000b0f8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x59]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14000b111
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x51]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14000b12d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SetEndOfFile]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FlushFileBuffers]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp r14d, 1
sete dil
mov rdx, qword [rsi]
sub rdx, 0x18
lock xadd dword [rdx + 0x10], ebx
dec ebx
jg 0x14000b16a
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
movzx eax, dil
add rsp, 0xd0
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret