Function at 0x140177990
Capabilities:
Write file on windows

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x70
mov esi, 0x2f1b5765
xor esi, 0x106b682d
add esi, 0x126805f7
xor esi, 0x53df823e
add esi, 0x34561c52
add esi, 0x21e56a5f
xor esi, 0x202a0652
sub esi, 0x739c67a
sub esi, 0x712e8567
movzx ebp, dx
xchg rdi, r8
mov r8, rcx
xchg r8, rdi
cmp si, dx
jne 0x140177a17
xor eax, eax
add rsp, 0x70
nop
add rsp, 8
xchg qword [rsp - 8], rdi
push rbx
push rdx
push rdx
push rax
push rbx
push rcx
xchg qword [rsp + 0x30], rsi
add rsp, 0x38
push rcx
push rdx
push rax
push rdx
xchg qword [rsp + 0x20], rbp
add rsp, 0x28
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 0x140177a97
xchg rdi, rcx
mov rdi, rcx
xchg rcx, rdi
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 rdi, r9
mov rcx, r9
xchg r9, rdi
xchg rbx, r13
mov r13, rax
xchg r13, 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]
cmp rax, rbx
jae 0x140177a97
mov rcx, rdi
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
nop
add rsp, 8
xchg qword [rsp - 8], rdi
nop
add rsp, 8
mov rsi, qword [rsp - 8]
nop
mov rbp, qword [rsp]
add rsp, 8
ret
cmp qword [rdi + 0x80], 0
je 0x140177c18
mov rcx, rdi
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 0x140177adb
mov rdx, qword [rdi + 0x88]
mov rcx, rdi
mov r9, qword [rdi + 0x90]
xchg rdx, r15
mov r8, r15
xchg r15, 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, r10
mov r10, qword [rdi + 0x68]
xchg r10, rcx
test rcx, rcx
jne 0x140177b15
movzx ecx, bp
xchg rdx, rbp
mov rbp, qword [rdi + 0x80]
xchg rbp, rdx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputwc]
cmp ax, si
je 0x140177c18
movzx esi, bp
jmp 0x140177c18
lea rax, [rsp + 0xa0]
mov word [rsp + 0x40], bp
xchg r14, rax
mov qword [rsp + 0x38], r14
xchg r14, rax
lea rdx, [rdi + 0x74]
lea rax, [rsp + 0x68]
mov qword [rsp + 0x30], rax
lea r9, [rsp + 0x42]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x28], 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 0x140177b84
sub eax, 1
je 0x140177b84
cmp eax, 2
jne 0x140177c18
movzx ecx, word [rsp + 0x40]
jmp 0x140177af1
mov rbx, qword [rsp + 0xa0]
lea rax, [rsp + 0x48]
sub rbx, rax
je 0x140177be7
xchg r9, r13
mov r13, qword [rdi + 0x80]
xchg r9, r13
lea rcx, [rsp + 0x48]
mov r8, rbx
mov edx, 0x1c7999d8
xor edx, 0x1fb0d7bf
add edx, 0xca8ffd1
add edx, 0x4b3e87f0
xor edx, 0x87de1ef
xor edx, 0x356ee9b2
sub edx, 0x66a3de74
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp rbx, rax
jne 0x140177c18
lea rax, [rsp + 0x40]
mov byte [rdi + 0x72], 0x1e
add byte [rdi + 0x72], 0x48
sub byte [rdi + 0x72], 0x65
add byte [rdi + 0x72], 3
add byte [rdi + 0x72], 9
add byte [rdi + 0x72], 0xa
add byte [rdi + 0x72], 0xc
xor byte [rdi + 0x72], 0x22
cmp qword [rsp + 0xa8], rax
cmovne si, bp
xchg rdi, rbx
mov rdi, qword [rsp + 0x90]
xchg rbx, rdi
movzx eax, si
add rsp, 0x70
push rax
push rdx
push rdx
push rax
push rbx
push rbx
push rax
xchg qword [rsp + 0x38], rdi
add rsp, 0x40
nop
xchg qword [rsp], rsi
add rsp, 8
push rax
xchg qword [rsp + 8], rbp
add rsp, 0x10
nop
add rsp, 8
jmp qword [rsp - 8]