Function at 0x140177b80
Capabilities:
Write file on windows

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x70
mov esi, 0x5aea3923
add esi, 0x12187114
add esi, 0x756f057
xor esi, 0x3e7b14cd
add esi, 0x2ad35d8f
xor esi, 0x7313e132
xor esi, 0x5ea9df76
sub esi, 0x594ed597
movzx ebp, dx
mov rdi, rcx
cmp si, dx
jne 0x140177c02
xor eax, eax
add rsp, 0x70
nop
xchg qword [rsp], rdi
add rsp, 8
push rdx
push rax
push rdx
push rdx
push rdx
push rbx
xchg qword [rsp + 0x30], rsi
add rsp, 0x38
push rcx
push rdx
push rbx
push rcx
push rbx
push rdx
xchg qword [rsp + 0x30], rbp
pop rdx
pop rbx
pop rcx
pop rbx
pop rdx
pop rcx
add rsp, 8
nop
add rsp, 8
jmp qword [rsp - 8]
xchg rbx, r10
mov qword [rsp + 0x90], r10
xchg r10, 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 0x140177c94
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, r13
mov rcx, r13
xchg r13, rdi
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 0x140177c94
xchg rcx, r14
mov r14, rdi
xchg r14, rcx
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
mov rdi, qword [rsp]
add rsp, 8
push rbx
push rcx
xchg qword [rsp + 0x10], rsi
pop rcx
pop rbx
add rsp, 8
push rdx
push rdx
push rbx
xchg qword [rsp + 0x18], rbp
pop rbx
pop rdx
pop rdx
add rsp, 8
ret
cmp qword [rdi + 0x80], 0
je 0x140177e3d
xchg r13, rcx
mov r13, rdi
xchg rcx, r13
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 0x140177cea
xchg rdx, r10
mov r10, qword [rdi + 0x88]
xchg rdx, r10
xchg rdi, rcx
mov rdi, rcx
xchg rcx, rdi
mov r9, qword [rdi + 0x90]
xchg r8, r14
mov r14, rdx
xchg r8, r14
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]
mov rcx, qword [rdi + 0x68]
test rcx, rcx
jne 0x140177d1e
movzx ecx, bp
xchg rdx, r8
mov r8, qword [rdi + 0x80]
xchg r8, rdx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputwc]
cmp ax, si
je 0x140177e3d
movzx esi, bp
jmp 0x140177e3d
lea rax, [rsp + 0xa0]
mov word [rsp + 0x40], bp
xchg rbx, rax
mov qword [rsp + 0x38], rbx
xchg rbx, rax
lea rdx, [rdi + 0x74]
lea rax, [rsp + 0x68]
xchg r11, rax
mov qword [rsp + 0x30], r11
xchg r11, 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 0x140177d91
sub eax, 1
je 0x140177d91
cmp eax, 2
jne 0x140177e3d
movzx ecx, word [rsp + 0x40]
jmp 0x140177cfa
xchg rbx, rcx
mov rcx, qword [rsp + 0xa0]
xchg rbx, rcx
lea rax, [rsp + 0x48]
sub rbx, rax
je 0x140177e0c
xchg r15, r9
mov r15, qword [rdi + 0x80]
xchg r9, r15
lea rcx, [rsp + 0x48]
xchg r9, rbx
mov r8, r9
xchg rbx, r9
mov edx, 0x746ab2cb
sub edx, 0x69597ff3
add edx, 0x3ddfa7d6
sub edx, 0x220ff341
add edx, 0x7f377dc
add edx, 0x2a48dce
add edx, 0x20694c21
sub edx, 0x1773bbe7
sub edx, 0x3a6e7d50
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp rbx, rax
jne 0x140177e3d
lea rax, [rsp + 0x40]
mov byte [rdi + 0x72], 0x25
xor byte [rdi + 0x72], 0x39
add byte [rdi + 0x72], 0x46
sub byte [rdi + 0x72], 0x4a
xor byte [rdi + 0x72], 0x50
xor byte [rdi + 0x72], 0x41
xor byte [rdi + 0x72], 0x28
sub byte [rdi + 0x72], 0x20
cmp qword [rsp + 0xa8], rax
cmovne si, bp
xchg rbx, rdi
mov rdi, qword [rsp + 0x90]
xchg rbx, rdi
movzx eax, si
add rsp, 0x70
push rbx
push rdx
push rcx
push rcx
push rdx
push rcx
push rcx
xchg qword [rsp + 0x38], rdi
add rsp, 0x40
nop
add rsp, 8
xchg qword [rsp - 8], rsi
push rbx
push rcx
push rdx
push rbx
push rcx
push rax
xchg qword [rsp + 0x30], rbp
add rsp, 0x38
nop
add rsp, 8
jmp qword [rsp - 8]