Function at 0x140177290
Capabilities:
Write file on windows

Disassembly:
push rbp
nop
mov qword [rsp - 8], rsi
sub rsp, 8
nop
mov qword [rsp - 8], rdi
sub rsp, 8
sub rsp, 0x70
mov esi, 0x5fb71bb4
sub esi, 0x38f62657
add esi, 0x219fa0a2
add esi, 0x14c155f4
xor esi, 0x7cd5f7fa
sub esi, 0x11c16f61
add esi, 0x4ef589c4
sub esi, 0x1b02eae5
xor esi, 0x4425b478
movzx ebp, dx
xchg rcx, rdi
mov rcx, rdi
xchg rcx, rdi
cmp si, dx
jne 0x140177327
xor eax, eax
add rsp, 0x70
push rcx
xchg qword [rsp + 8], rdi
pop rcx
add rsp, 8
push rcx
xchg qword [rsp + 8], rsi
add rsp, 0x10
push rbx
push rax
push rcx
push rax
push rcx
push rcx
push rbx
xchg qword [rsp + 0x38], rbp
pop rbx
pop rcx
pop rcx
pop rax
pop rcx
pop rax
pop rbx
add rsp, 8
ret
xchg rdx, rbx
mov qword [rsp + 0x90], rdx
xchg rbx, rdx
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 0x1401773b4
xchg rcx, rbp
mov rbp, rdi
xchg rcx, rbp
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 rcx, rdi
mov rdi, rcx
xchg rcx, 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 0x1401773b4
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
push rcx
xchg qword [rsp + 8], rdi
pop rcx
add rsp, 8
nop
add rsp, 8
xchg qword [rsp - 8], rsi
nop
xchg qword [rsp], rbp
add rsp, 8
nop
add rsp, 8
jmp qword [rsp - 8]
cmp qword [rdi + 0x80], 0
je 0x14017754d
xchg rdi, r15
mov rcx, r15
xchg r15, 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 0x1401773fe
xchg r15, rdx
mov r15, qword [rdi + 0x88]
xchg r15, rdx
mov rcx, rdi
mov r9, qword [rdi + 0x90]
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 rbp, rcx
mov rbp, qword [rdi + 0x68]
xchg rcx, rbp
test rcx, rcx
jne 0x140177432
movzx ecx, bp
mov rdx, qword [rdi + 0x80]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputwc]
cmp ax, si
je 0x14017754d
movzx esi, bp
jmp 0x14017754d
lea rax, [rsp + 0xa0]
mov word [rsp + 0x40], bp
mov qword [rsp + 0x38], rax
lea rdx, [rdi + 0x74]
lea rax, [rsp + 0x68]
xchg r10, rax
mov qword [rsp + 0x30], r10
xchg r10, rax
lea r9, [rsp + 0x42]
lea rax, [rsp + 0x48]
xchg rdi, rax
mov qword [rsp + 0x28], rdi
xchg rdi, rax
lea r8, [rsp + 0x40]
lea rax, [rsp + 0xa8]
xchg r12, rax
mov qword [rsp + 0x20], r12
xchg r12, 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 0x1401774a9
sub eax, 1
je 0x1401774a9
cmp eax, 2
jne 0x14017754d
movzx ecx, word [rsp + 0x40]
jmp 0x140177414
mov rbx, qword [rsp + 0xa0]
lea rax, [rsp + 0x48]
sub rbx, rax
je 0x140177518
mov r9, qword [rdi + 0x80]
lea rcx, [rsp + 0x48]
xchg r9, rbx
mov r8, r9
xchg r9, rbx
mov edx, 0x3e12a7dd
sub edx, 0x275c1b4
sub edx, 0x162a5f67
sub edx, 0x24000c9d
xor edx, 0x574ad85
add edx, 0x31f0e125
xor edx, 0xb0d6345
xor edx, 0x23ea6059
xor edx, 0x1d10bbd8
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp rbx, rax
jne 0x14017754d
lea rax, [rsp + 0x40]
mov byte [rdi + 0x72], 0x22
add byte [rdi + 0x72], 2
add byte [rdi + 0x72], 0xf
add byte [rdi + 0x72], 0x2f
sub byte [rdi + 0x72], 0x49
add byte [rdi + 0x72], 0x29
add byte [rdi + 0x72], 0x2b
sub byte [rdi + 0x72], 0x6b
sub byte [rdi + 0x72], 1
cmp qword [rsp + 0xa8], rax
cmovne si, bp
mov rbx, qword [rsp + 0x90]
movzx eax, si
add rsp, 0x70
nop
add rsp, 8
xchg qword [rsp - 8], rdi
nop
xchg qword [rsp], rsi
add rsp, 8
nop
add rsp, 8
mov rbp, qword [rsp - 8]
nop
add rsp, 8
jmp qword [rsp - 8]