Function at 0x14000bb50
Capabilities:
Write file on windows

Disassembly:
push rbx
push rdi
push r15
sub rsp, 0x20
cmp qword [rcx + 0x68], 0
mov rbx, r8
mov r15, rdx
mov rdi, rcx
je case.default.0x14000bb71
add rsp, 0x20
pop r15
pop rdi
pop rbx
jmp qword [sym.imp.MSVCP140.dll_protected_virtual:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::xsputn_char_const____ptr64__long_long___int64_____ptr64]
mov rax, qword [rcx + 0x40]
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x48], rsi
mov rsi, rbx
mov qword [rsp + 0x58], r14
mov r9, qword [rax]
test r9, r9
je 0x14000bb9e
mov rax, qword [rcx + 0x58]
mov ecx, dword [rax]
jmp 0x14000bba0
xor ecx, ecx
movsxd rbp, ecx
test rbx, rbx
jle 0x14000bbf9
test ecx, ecx
jle 0x14000bbd9
cmp rbx, rbp
mov rcx, r9
cmovl rbp, rbx
mov r8, rbp
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rdi + 0x58]
add r15, rbp
sub rbx, rbp
sub dword [rax], ebp
mov rcx, qword [rdi + 0x40]
movsxd rax, ebp
add qword [rcx], rax
test rbx, rbx
jle 0x14000bbf9
mov r9, qword [rdi + 0x80]
test r9, r9
je 0x14000bbf9
mov r8, rbx
mov edx, 1
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
sub rbx, rax
mov r14, qword [rsp + 0x58]
sub rsi, rbx
mov rbp, qword [rsp + 0x40]
mov rax, rsi
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop r15
pop rdi
pop rbx
ret
add byte [rax], al
and r9, 8
sub r13, r14
mov rdi, rbp
add rcx, r12
or r13, rdx
or r12, 0x20
add rdi, 0x4e
or r9, r13
or r12, 0x90
or dword [rdi], r15d
sub r12, 0x80
add r13, r14
and r9, r15
add r12, rcx
sub r12, 0xf0
and rcx, 8
or rcx, 2
sub r12, rdx
xor r9, 2
xor r9, r12
mov r11, 0
mov r13, reloc.WS2_32.dll_select
and r11, rdx
sub rcx, r11
xor r11, r13
mov rsi, reloc.WS2_32.dll_select
mov rbx, rbp
add rcx, rdi
add rcx, 0xffffffff80000000
mov r12, rcx
add rbx, 0x1af
mov r13, rbp
and r11, rdi
xor rcx, r11
mov rax, 0x400
mov r9, qword [rbx]
sub rcx, r9
and rcx, rcx
sub rcx, rax
mov rbx, rbp
add r11, rax
add rcx, 0xffff
or rax, 0x7fffffff
add r13, 0x199
and rcx, r8
xor rcx, 0x400
or rax, r11
or rcx, rcx
sub r11, rcx
mov r8d, dword [r13]
add rbx, 0x8f
and r11, rbx
sub rax, 8
sub rcx, r8
sub r8d, 0x57abd48c
or r11, 0x20
or rcx, 0x7fffffff
add rax, 2
add rax, 4
mov dil, byte [rbx]
add rcx, r11
mov r15, 0x400
sub rax, rdi
mov rsi, rbp
cmp dil, 5
jne 0x14017c942
neg r9b
pushfq
and rax, rsi
xor rcx, r8
or r15, r9
and rax, rbx
add rcx, r15
mov r12, 0x400
xor r15, 0x7fffffff
sub r15, rdi
add rsi, 0x4e
sub r15, 0x78
xor dword [rsi], r8d
xor r15, rbx
xor r15, 0xffffffff80000000
cmp dil, 0x71
jne 0x14017c989
neg r9w
pushfq
or r15, rbx
or r15, r12
or rax, 4
cmp dil, 0x92
jne 0x14017c9a0
neg r9d
pushfq
sub r12, rdi
xor r12, r15
or r12, r15
xor rax, rbx
sub r15, 0x800
add r15, 0x90
or r15, rdi
sub r15, 0x40
xor rax, 0x90
and r15, rbx
sub r12, rax
sub r15, 0x78
cmp dil, 0x1d
jne 0x14017c9e2
neg r9
pushfq
add rax, rbx
xor r12, r9
sub r9, 0x50d4f1aa
xor rax, 0x20
mov r14, rbp
sub rax, r12
add r14, 0x1ec
mov rdx, reloc.WS2_32.dll_select
mov r11, reloc.WS2_32.dll_select
or rax, r14
sub r15, r14
and r15, r11
mov r10, 0
xor r10, r14
or r11, r9
sub r11, rdi
mov r12, 0x200
xor r12, r8
and r11, r9
and r12, rdi
or r12, 0x90
mov qword [r14], r9
and r11, rbx
mov r8, rbp
or r11, 2
xor r11, 0x90
xor r11, r8
add rbx, r13
add rbx, 8
mov r12, rbp
add r11, 0xffffffff80000000
add r8, 0x6a
xor rbx, 2
xor r11, rcx
sub r11, rbx
pop rdi
mov rax, 0x200
xor rax, rbx
and rbx, rsi
or rbx, rax
mov r8, qword [r8]
xor rbx, rax
or rax, 4
add r12, 0x1ec
and rax, r12
add r8, 8
xor rax, rbx
add rbx, rsi
and rbx, r8
sub rax, r12
movzx r8, byte [r8]
xor rax, rax
sub rbx, 0xffffffff80000000
or rbx, 0x20
add rbx, r8
add r13, qword [r12]
add rax, 0x80
sub rax, 0xffff
mov r9, 0
xor r9, 1
sub r13, rsi
cmp r8, 0
je 0x14017cb80
mov r8, 0
sub r9, r8
mov r9, 0x400
add r9, rdi
and r9, rcx
sub rbx, 2
mov rcx, rbp
sub r9, r12
sub rbx, r12
add rcx, 0x6a
add rbx, r9
or rbx, r9
mov rcx, qword [rcx]
add rbx, rcx
sub rbx, rsi
sub rbx, r12
add rcx, 0
sub rbx, r13
add r9, r13
mov r8w, word [rcx]
xor rbx, rbx
or rbx, 0x800
and r9, r12
add r9, rbx
or r9, 0x20
add r8, rbp
xor r9, r12
xor rbx, rsi
mov qword [r8], rdi
sub rbx, r12
and r9, 0x20
sub r9, rsi
xor r9, r8
mov rdi, rbp
add rdi, 0x1ec
mov r11, qword [rdi]
add r11, 0x50d4f1aa
add r11, 0x7197891f
mov rdx, rbp
add rdx, 0x1ec
mov qword [rdx], r11
mov r13, rbp
add r13, 0x199
and dword [r13], 0x228345f3
mov rdi, rbp
add rdi, 0x8f
mov cl, byte [rdi]
and rcx, 0xffffffff80000000
sub rbx, r9
mov rdx, 0x400
mov r13, rbp
add r13, 0x171
and rcx, r9
xor rdx, r9
and r12, rcx
mov r13, qword [r13]
and rdx, r9
and rdx, rbx
xor r12, r12
add rdx, rdx
xor r12, r15
mov r15, rbp
xor rcx, rdx
xor rdx, 0x90
add rcx, 0xf0
add r15, 0x6a
xor rcx, rdx
xor r12, rcx
mov r15, qword [r15]
or rbx, 0x90
sub r12, r12
add r12, rbx
and rdx, r13
xor r9, rbx
add r15, 2
movzx r15, word [r15]
sub r12, 0xffff
add r9, 0xf0
mov r11, 0x400
mov r14, rbp
sub r11, 4
sub rdx, r14
mov rsi, 1
add r14, 0x199
sub rbx, 8
sub r15d, dword [r14]
sub rcx, rdx
mov r14, 0
sub rcx, 0x400
xor r15d, 0x2ac21e42
sub rsi, 1
sub rsi, rsi
add rcx, rbx
mov rdi, rbp
or r14, rsi
or rbx, r13
xor rbx, rbx
add rbx, r13
add rdi, 0x199
sub r11, r11
or dword [rdi], r15d
mov rax, reloc.WS2_32.dll_select
or rcx, r14
or rsi, r13
and r15, 0xffff
and r14, 0x7fffffff
sub rsi, rax
sub r14, rsi
mov rdx, 1
add r13, r15
and rcx, 2
mov r8, qword [r13]
xor rcx, 2
add rsi, rdx
mov r10, rbp
or rdx, 2
or rcx, rdx
xor rcx, 8
mov rdi, 0
mov r11, 0
add r10, 0x6a
or r14, 0x40
add r14, 0x80
mov r10, qword [r10]
and r14, r8
and r11, rdi
mov r15, r11
xor rsi, r13
add r10, 4
mov rdi, 0
sub r11, r11
xor rsi, r13
and rsi, 0x20
add rdi, rdi
movsxd r13, dword [r10]
mov r12, rbp
add r14, 0x20
xor r14, 0xffffffff80000000
sub rdi, 1
or rsi, rdi
add r12, 0x6a
add qword [r12], r13
jmp r8