Function at 0x1400584c4
Capabilities:
Write file on windows

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0xa8
mov rsi, rcx
invalid
test r9, r9
je 0x140058507
mov r15, r9
mov r14, r8
mov rbx, qword [rsp + 0x100]
mov ecx, edx
call qword [sym.imp.kernel32.dll_GetStdHandle]
test rax, rax
je 0x14005850f
mov rdi, rax
cmp rax, 0xffffffffffffffff
jne 0x140058535
call fcn.140028fb0
jmp 0x140058519
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
jmp 0x140058524
movabs rax, 0x600000002
mov qword [rsi + 8], rax
mov qword [rsi], 1
lea rdx, [rsp + 0x78]
and dword [rdx], 0
mov rcx, rdi
call qword [sym.imp.kernel32.dll_GetConsoleMode]
test eax, eax
je 0x1400585a1
movzx eax, byte [rbx + 4]
test rax, rax
je 0x14005861f
cmp al, 4
jae 0x14005877c
mov cl, byte [r14]
mov edx, ecx
and dl, 0xc0
cmp dl, 0x80
jne 0x14005868a
mov byte [rbx + rax], cl
mov al, byte [rbx + 4]
inc al
mov byte [rbx + 4], al
movzx ecx, byte [rbx]
lea rdx, [0x1400a69d4]
movzx r14d, byte [rcx + rdx]
cmp r14b, al
jbe 0x1400586af
mov qword [rsi + 8], 1
and qword [rsi], 0
jmp 0x140058524
movups xmm0, xmmword [0x1400a7358]
lea rax, [rsp + 0x50]
movaps xmmword [rax], xmm0
mov ecx, 0xffffffff
invalid
invalid
dec dword [rcx + 0x39]
iretd
cmovb rcx, r15
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
and al, 0x38
mov dword [rsp + 0x30], ecx
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rax
mov rcx, rdi
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.ntdll.dll_NtWriteFile]
cmp eax, 0x103
jne 0x140058607
mov rcx, rdi
mov edx, 0xffffffff
call qword [sym.imp.kernel32.dll_WaitForSingleObject]
mov eax, dword [rsp + 0x50]
cmp eax, 0x103
je 0x140058780
test eax, eax
js 0x14005869a
mov rax, qword [rsp + 0x58]
mov qword [rsi + 8], rax
mov r8d, 0x1000
cmp r15, r8
cmovb r8, r15
lea r12, [rsp + 0x50]
mov rcx, r12
mov rdx, r14
call fcn.14001defa
cmp qword [r12], 0
je 0x1400586e0
mov r8, qword [rsp + 0x58]
test r8, r8
je 0x140058705
cmp r8, r15
ja 0x14005877c
lea rbx, [rsp + 0x78]
mov rcx, rbx
mov rdx, r14
call fcn.14001defa
cmp qword [rbx], 0
jne 0x14005877c
mov r8, qword [rsp + 0x80]
mov r9, qword [rsp + 0x88]
jmp 0x1400586ea
mov byte [rbx + 4], 0
lea rax, str.Windows_stdio_in_console_mode_does_not_support_writing_non_UTF_8_byte_sequences
jmp 0x140058519
mov ecx, eax
call qword [sym.imp.ntdll.dll_RtlNtStatusToDosError]
mov dh, 0x4c
add al, 0
shl rax, 0x20
or rax, 2
jmp 0x140058757
movzx r8d, al
cmp r8b, 5
jae 0x14005877c
lea r15, [rsp + 0x78]
mov rcx, r15
mov rdx, rbx
call fcn.14001defa
mov byte [rbx + 4], 0
cmp qword [r15], 0
je 0x140058727
lea rax, str.Windows_stdio_in_console_mode_does_not_support_writing_non_UTF_8_byte_sequences
jmp 0x140058757
mov r8, qword [rsp + 0x58]
mov r9, qword [rsp + 0x60]
mov rcx, rsi
mov rdx, rdi
add rsp, 0xa8
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
jmp fcn.1400587c9
movzx eax, byte [r14]
lea rcx, [0x1400a69d4]
movzx ecx, byte [rax + rcx]
cmp rcx, 2
jb 0x1400586d7
cmp rcx, r15
jbe 0x1400586d7
mov byte [rbx], al
mov byte [rbx + 4], 1
jmp 0x14005876f
cmp qword [rsp + 0x88], r14
jne 0x14005877c
mov r8, qword [rsp + 0x80]
lea rbx, [rsp + 0x50]
lea rcx, [rsp + 0x70]
mov byte [rcx + 4], 0
and dword [rcx], 0
lea rax, str.hs_n_
lea eax, str.hs_n_
lea rdx, [rsp + 0x78]
mov qword [rdx], rax
mov qword [rdx + 8], 1
add byte [rax], al