Function at 0x1401772f0
Capabilities:
Write file on windows

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x70
mov esi, 0x54489595
sub esi, 0x1da40278
xor esi, 0x388f65c4
sub esi, 0x10e1f9a
add esi, 0x36c021f0
sub esi, 0x43dcf930
movzx ebp, dx
mov rdi, rcx
cmp si, dx
jne 0x14017735d
xor eax, eax
add rsp, 0x70
nop
add rsp, 8
mov rdi, qword [rsp - 8]
push rdx
push rax
push rdx
push rax
push rbx
push rbx
push rcx
xchg qword [rsp + 0x38], rsi
add rsp, 0x40
nop
add rsp, 8
xchg qword [rsp - 8], rbp
nop
add rsp, 8
jmp qword [rsp - 8]
mov qword [rsp + 0x90], rbx
call qword [sym.imp.MSVCP140.dll_protected:_wchar_t____ptr64___cdecl_std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t__::pptr_void_const___ptr64]
test rax, rax
je 0x1401773ef
xchg r10, rcx
mov r10, rdi
xchg rcx, r10
call qword [sym.imp.MSVCP140.dll_protected:_wchar_t____ptr64___cdecl_std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t__::epptr_void_const___ptr64]
xchg r15, rcx
mov r15, rdi
xchg r15, rcx
xchg rbx, rax
mov rax, rbx
xchg rbx, rax
call qword [sym.imp.MSVCP140.dll_protected:_wchar_t____ptr64___cdecl_std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t__::pptr_void_const___ptr64]
cmp rax, rbx
jae 0x1401773ef
xchg rcx, r10
mov r10, rdi
xchg rcx, r10
call qword [sym.imp.MSVCP140.dll_protected:_wchar_t____ptr64___cdecl_std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t__::_Pninc_void____ptr64]
mov rbx, qword [rsp + 0x90]
mov word [rax], bp
movzx eax, bp
add rsp, 0x70
push rbx
push rax
push rcx
push rdx
xchg qword [rsp + 0x20], rdi
pop rdx
pop rcx
pop rax
pop rbx
add rsp, 8
nop
xchg qword [rsp], rsi
add rsp, 8
nop
mov rbp, qword [rsp]
add rsp, 8
nop
add rsp, 8
jmp qword [rsp - 8]
cmp qword [rdi + 0x80], 0
je 0x14017758c
xchg rcx, rdi
mov rdi, rcx
xchg rdi, rcx
call qword [sym.imp.MSVCP140.dll_protected:_wchar_t____ptr64___cdecl_std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t__::eback_void_const___ptr64]
lea rcx, [rdi + 0x70]
cmp rax, rcx
jne 0x140177445
xchg rdx, r10
mov r10, qword [rdi + 0x88]
xchg rdx, r10
xchg rdx, rcx
mov rdx, rdi
xchg rdx, rcx
xchg r9, r8
mov r8, qword [rdi + 0x90]
xchg r9, r8
mov r8, rdx
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t__::setg_wchar_t____ptr64__wchar_t____ptr64__wchar_t____ptr64____ptr64]
xchg rcx, r13
mov r13, qword [rdi + 0x68]
xchg rcx, r13
test rcx, rcx
jne 0x14017747f
movzx ecx, bp
xchg r12, rdx
mov r12, qword [rdi + 0x80]
xchg r12, rdx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputwc]
cmp ax, si
je 0x14017758c
movzx esi, bp
jmp 0x14017758c
lea rax, [rsp + 0xa0]
mov word [rsp + 0x40], bp
mov qword [rsp + 0x38], rax
lea rdx, [rdi + 0x74]
lea rax, [rsp + 0x68]
mov qword [rsp + 0x30], rax
lea r9, [rsp + 0x42]
lea rax, [rsp + 0x48]
xchg r14, rax
mov qword [rsp + 0x28], r14
xchg r14, rax
lea r8, [rsp + 0x40]
lea rax, [rsp + 0xa8]
mov qword [rsp + 0x20], rax
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::codecvt_wchar_t__char__struct__Mbstatet_::out_struct__Mbstatet____ptr64__wchar_t_const____ptr64__wchar_t_const____ptr64__wchar_t_const____ptr64____ptr64__char____ptr64__char____ptr64__char____ptr64____ptr64_const___ptr64]
test eax, eax
je 0x1401774ee
sub eax, 1
je 0x1401774ee
cmp eax, 2
jne 0x14017758c
movzx ecx, word [rsp + 0x40]
jmp 0x14017745b
mov rbx, qword [rsp + 0xa0]
lea rax, [rsp + 0x48]
sub rbx, rax
je 0x140177557
mov r9, qword [rdi + 0x80]
lea rcx, [rsp + 0x48]
xchg rdi, rbx
mov r8, rdi
xchg rbx, rdi
mov edx, 0x4ffcd7c9
add edx, 0x13f787d7
add edx, 0xd028b1a
sub edx, 0x3b372e8b
add edx, 0x3cc5fa7
sub edx, 0x202052ba
xor edx, 0x60f5e5a
sub edx, 0x1f649745
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp rbx, rax
jne 0x14017758c
lea rax, [rsp + 0x40]
mov byte [rdi + 0x72], 0x27
add byte [rdi + 0x72], 0x12
sub byte [rdi + 0x72], 7
xor byte [rdi + 0x72], 0x22
add byte [rdi + 0x72], 0x6a
xor byte [rdi + 0x72], 0x5b
sub byte [rdi + 0x72], 0x20
xor byte [rdi + 0x72], 0x36
sub byte [rdi + 0x72], 0x36
cmp qword [rsp + 0xa8], rax
cmovne si, bp
mov rbx, qword [rsp + 0x90]
movzx eax, si
add rsp, 0x70
nop
add rsp, 8
mov rdi, qword [rsp - 8]
nop
add rsp, 8
mov rsi, qword [rsp - 8]
push rbx
push rbx
xchg qword [rsp + 0x10], rbp
add rsp, 0x18
ret