Function at 0x140058490
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r14
push r15
lea rbp, [rsp - 0x210]
sub rsp, 0x310
mov rbx, rdx
mov r14, rcx
test byte [rcx + 8], 2
je 0x1400586c3
mov rax, r8
cqo
and edx, 0xfff
add rax, rdx
mov rsi, rax
and eax, 0xfff
sub rax, rdx
sar rsi, 0xc
mov r15, rax
xor edi, edi
test rsi, rsi
jle 0x14005851a
nop word [rax + rax]
mov r9, qword [r14]
mov edx, 1
mov r8d, 0x1000
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
inc rdi
cmp rax, 0x1000
jne 0x140058559
add rbx, rax
cmp rdi, rsi
jl 0x1400584f0
test r15, r15
je 0x14005853c
mov r9, qword [r14]
mov r8, r15
mov edx, 1
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp rax, r15
jne 0x140058766
lea r11, [rsp + 0x310]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
mov edx, 1
lea rcx, [rbp + 0x80]
call fcn.140056fa0
nop
lea rdx, str.A_file_could_not_be_written_to_disk.
lea rcx, [rbp + 0x90]
call fcn.14003edd0
lea rdx, [fcn.14003f5f0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rcx, rax
lea rdx, str.Please_check_if_there_is_enough_disk_space_left_on_the_hard_disk_device
call fcn.14003edd0
lea rdx, [fcn.14003f5f0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rcx, rax
lea rdx, str.and_if_the_write_permissions_are_set_correctly.
call fcn.14003edd0
lea rdx, [fcn.14003f5f0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rcx, rax
lea rdx, str._Could_not_write_file__chunk
call fcn.14003edd0
mov rdx, rdi
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___long_long___int64_____ptr64]
mov rcx, rax
lea rdx, [0x140061828]
call fcn.14003edd0
mov rdx, rsi
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___long_long___int64_____ptr64]
mov rcx, rax
lea rdx, [0x14006182c]
call fcn.14003edd0
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x30]
call fcn.14003fbe0
mov rbx, rax
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0x80]
call fcn.140058be0
nop
mov rdx, rax
mov rcx, rbx
call fcn.140050450
lea rdx, [rbp - 0x70]
mov rcx, rax
call fcn.1400401e0
nop
mov rdx, rax
lea rcx, [rbp - 0x30]
call fcn.14003fc80
mov rbx, rax
lea rdx, [0x14005fc85]
lea rcx, [rsp + 0x70]
call fcn.14003fad0
nop
lea rdx, str.CST::FileWriteError
lea rcx, [rsp + 0x50]
call fcn.14003fad0
nop
lea rcx, [rbp + 0x180]
call fcn.140057570
nop
lea rcx, [rsp + 0x70]
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0x50]
mov r8, rax
lea rdx, [rbp - 0x10]
mov rcx, rbx
call fcn.140056f00
lea rdx, [0x1400709f0]
lea rcx, [rbp - 0x10]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x30]
call fcn.14003fbe0
nop
lea rdx, str.File_not_open_for_writing
mov rcx, rax
call fcn.140056820
lea rdx, [rbp - 0x70]
mov rcx, rax
call fcn.1400401e0
nop
mov rdx, rax
lea rcx, [rbp - 0x50]
call fcn.14003fc80
mov rbx, rax
lea rdx, [0x14005fc85]
lea rcx, [rsp + 0x50]
call fcn.14003fad0
nop
lea rdx, str.CST::FileWriteError
lea rcx, [rsp + 0x70]
call fcn.14003fad0
nop
lea rcx, [rbp + 0x180]
call fcn.140057570
nop
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0x70]
mov r8, rax
lea rdx, [rbp - 0x10]
mov rcx, rbx
call fcn.140056f00
lea rdx, [0x1400709f0]
lea rcx, [rbp - 0x10]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
mov edx, 1
lea rcx, [rbp + 0x80]
call fcn.140056fa0
nop
lea rdx, str.A_file_could_not_be_written_to_disk.
lea rcx, [rbp + 0x90]
call fcn.14003edd0
lea rdx, [fcn.14003f5f0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rcx, rax
lea rdx, str.Please_check_if_there_is_enough_disk_space_left_on_the_hard_disk_device
call fcn.14003edd0
lea rdx, [fcn.14003f5f0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rcx, rax
lea rdx, str.and_if_the_write_permissions_are_set_correctly.
call fcn.14003edd0
lea rdx, [fcn.14003f5f0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rcx, rax
lea rdx, str._Could_not_write_file__remainder_
call fcn.14003edd0
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x30]
call fcn.14003fbe0
mov rbx, rax
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0x80]
call fcn.140058be0
nop
mov rdx, rax
mov rcx, rbx
call fcn.140050450
lea rdx, [rbp - 0x50]
mov rcx, rax
call fcn.1400401e0
nop
mov rdx, rax
lea rcx, [rbp - 0x70]
call fcn.14003fc80
mov rbx, rax
lea rdx, [0x14005fc85]
lea rcx, [rsp + 0x70]
call fcn.14003fad0
nop
lea rdx, str.CST::FileWriteError
lea rcx, [rsp + 0x50]
call fcn.14003fad0
nop
lea rcx, [rbp + 0x180]
call fcn.140057570
nop
lea rcx, [rsp + 0x70]
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0x50]
mov r8, rax
lea rdx, [rbp - 0x10]
mov rcx, rbx
call fcn.140056f00
lea rdx, [0x1400709f0]
lea rcx, [rbp - 0x10]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
push rbx
sub rsp, 0x1e0
mov rcx, qword [rcx + 8]
test rcx, rcx
je 0x1400588bf
add rsp, 0x1e0
pop rbx
jmp 0x140058490
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x30]
call fcn.14003fbe0
nop
lea rdx, str.Cannot_write_a_non_opened_file
mov rcx, rax
call fcn.14003ebc0
lea rdx, [rsp + 0x90]
mov rcx, rax
call fcn.1400401e0
nop
mov rdx, rax
lea rcx, [rsp + 0xb0]
call fcn.14003fc80
mov rbx, rax
lea rdx, [0x14005fc85]
lea rcx, [rsp + 0x50]
call fcn.14003fad0
nop
lea rdx, str.CST::FileNotOpen
lea rcx, [rsp + 0x70]
call fcn.14003fad0
nop
lea rcx, [rsp + 0x158]
call fcn.140057230
nop
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0x70]
mov r8, rax
lea rdx, [rsp + 0xd0]
mov rcx, rbx
call fcn.140056c80
lea rdx, [0x140070c60]
lea rcx, [rsp + 0xd0]
call sub.VCRUNTIME140.dll__CxxThrowException
int3