Function at 0x1401ecde0
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xc0
mov rdi, r8
mov rsi, rdx
mov r15, rcx
xor r13d, r13d
mov rcx, qword [rcx]
test rcx, rcx
je 0x1401ed00f
add rcx, 0x10
call fcn.140145610
mov rbx, rax
mov dword [rbp + 0x67], r13d
lea r14, str.D:_a_ton_ton_tdutils_tdutilsportFileFd.cpp
mov qword [rbp - 0x69], r14
mov dword [rbp - 0x61], 0x107
mov rcx, qword [rdi + 8]
mov qword [rbp + 0x7f], rcx
lea rdx, [rbp + 0x7f]
lea rcx, [rbp - 0x69]
call fcn.1401ec420
mov qword [rsp + 0x20], r13
lea r9, [rbp + 0x67]
mov r8d, eax
mov rdx, qword [rdi]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x1401ece90
mov qword [rbp - 0x69], r14
mov dword [rbp - 0x61], 0x10a
lea rdx, [rbp + 0x67]
lea rcx, [rbp - 0x69]
call fcn.1401ec610
mov qword [rsi], r13
mov qword [rsi + 8], rax
jmp 0x1401ecfd7
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r12d, eax
mov dword [rbp + 0x7f], r13d
mov word [rbp + 0x83], r13w
lea rax, vtable.td::NullLog.0
mov qword [rbp - 0x51], rax
xor r9d, r9d
lea r8, [rbp + 0x7f]
lea rdx, [rbp - 0x51]
lea rcx, [rbp - 0x31]
call fcn.14013cfa0
nop
lea rdi, [rax + 0x18]
lea rcx, str.Write_to
mov qword [rbp - 0x69], rcx
mov rbx, 0xffffffffffffffff
mov rax, rbx
nop
inc rax
cmp byte [rcx + rax], 0
jne 0x1401ecee0
mov qword [rbp - 0x61], rax
lea rdx, [rbp - 0x69]
mov rcx, rdi
call fcn.1401e5870
mov rdx, qword [r15]
test rdx, rdx
je 0x1401ed029
add rdx, 0x10
mov rcx, rdi
call fcn.1401edad0
lea rax, str._has_failed
mov qword [rbp - 0x69], rax
nop dword [rax]
inc rbx
cmp byte [rax + rbx], 0
jne 0x1401ecf20
mov qword [rbp - 0x61], rbx
lea rdx, [rbp - 0x69]
mov rcx, rdi
call fcn.1401e5870
mov rcx, qword [rdi + 8]
mov rax, qword [rdi + 0x10]
add rax, 0x1e
cmp rcx, rax
jb 0x1401ecf51
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_abort]
int3
mov byte [rcx], 0
mov rax, qword [rdi + 8]
mov r15, qword [rdi]
mov r14, rax
sub r14, r15
test r15, r15
je 0x1401ed03f
cmp byte [rax], 0
jne 0x1401ed059
mov r9d, r12d
mov r8b, 1
xor edx, edx
lea rcx, [rbp - 0x69]
call fcn.140152f90
movsd xmm0, qword [rax]
movsd qword [rbp - 0x49], xmm0
mov ebx, dword [rax + 8]
mov qword [rbp - 0x39], r13
lea rcx, [r14 + 0xd]
call fcn.1403499bc
mov rdi, rax
movsd xmm0, qword [rbp - 0x49]
movsd qword [rax], xmm0
mov dword [rax + 8], ebx
mov r8, r14
mov rdx, r15
lea rcx, [rax + 0xc]
call sub.VCRUNTIME140.dll_memcpy
mov byte [rdi + r14 + 0xc], 0
lea rcx, [rbp - 0x31]
call fcn.1401ea490
nop
mov qword [rbp - 0x39], r13
mov qword [rsi], rdi
test rdi, rdi
je 0x1401ecff5
mov rax, rsi
mov rbx, qword [rsp + 0x110]
add rsp, 0xc0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov r8d, 0x1cc
lea rdx, str.D:_a_ton_ton_tdutils_td_utils_Status.h
lea rcx, str.status_.is_error__
call fcn.1401e4790
nop
mov r8d, 0x27b
lea rdx, str.D:_a_ton_ton_tdutils_tdutilsportFileFd.cpp
lea rcx, str._empty__
call fcn.1401e4790
nop
mov r8d, 0x27b
mov rdx, r14
lea rcx, str._empty__
call fcn.1401e4790
int3
mov r8d, 0x21
lea rdx, str.D:_a_ton_ton_tdutils_td_utils_Slice.h
lea rcx, str.s____nullptr
call fcn.1401e4790
int3
mov r8d, 0x12a
lea rdx, str.D:_a_ton_ton_tdutils_td_utils_Slice.h
lea rcx, str.t__0
call fcn.1401e4790
int3