Function at 0x180021170
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r14
lea rbp, [rsp - 0xff60]
mov eax, 0x10060
call fcn.1800cc990
sub rsp, rax
mov rax, qword [0x1808c4020]
xor rax, rsp
mov qword [rbp + 0xff50], rax
mov eax, dword [rcx + 8]
mov rsi, rdx
dec eax
mov rdi, rcx
test eax, 0xfffffffd
jne 0x1800213ad
mov rcx, qword [rcx]
lea rdx, [rsp + 0x30]
mov r8d, 8
call fcn.18001eae0
xor r14d, r14d
test al, al
je 0x180021334
mov ecx, dword [rsp + 0x34]
test ecx, ecx
je 0x180021205
mov r8d, ecx
lea rdx, [rsp + 0x38]
mov rcx, qword [rdi]
call fcn.18001eae0
test al, al
je 0x1800213d6
mov eax, dword [rsp + 0x34]
mov byte [rsp + rax + 0x38], r14b
mov ecx, dword [rsp + 0x34]
mov eax, dword [rsp + 0x30]
test eax, eax
je 0x18002122d
sub eax, 1
je 0x1800214c6
sub eax, 1
je 0x180021416
sub eax, 1
je 0x180021276
cmp eax, 1
je 0x180021319
lea rdx, str.Bad_ipc_frame
mov dword [rdi + 0x60], 2
mov ecx, 1
lea r8, [rdi + 0x64]
sub rcx, rdx
nop word [rax + rax]
lea rax, [rcx + rdx]
cmp rax, 0x100
jae 0x18002136f
movzx eax, byte [rdx]
inc rdx
mov byte [r8], al
inc r8
cmp byte [rdx], r14b
jne 0x180021250
jmp 0x18002136f
mov rax, qword [rdi]
mov ebx, ecx
add rbx, 8
mov dword [rsp + 0x30], 4
test rax, rax
jne 0x1800212a6
lea r8d, [rax + 0x4f]
lea rdx, str.C:UsersEtoShinya_source_reposMminty_apidiscord_srcconnection_win.cpp
lea rcx, [0x1808847b8]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
jmp 0x1800212de
mov rcx, qword [rax + 8]
cmp rcx, 0xffffffffffffffff
je 0x1800212de
lea r9, [rbp + 0xff30]
mov dword [rbp + 0xff30], r14d
mov r8d, ebx
mov qword [rsp + 0x20], r14
lea rdx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_WriteFile]
cmp eax, 1
jne 0x1800212de
cmp dword [rbp + 0xff30], ebx
je 0x180021319
mov r8, qword [rdi + 0x18]
test r8, r8
je 0x1800212fd
mov eax, dword [rdi + 8]
dec eax
test eax, 0xfffffffd
jne 0x1800212fd
mov ecx, dword [rdi + 0x60]
lea rdx, [rdi + 0x64]
call r8
mov rbx, qword [rdi]
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx + 8], 0xffffffffffffffff
mov byte [rbx], r14b
mov dword [rdi + 8], r14d
mov rcx, qword [rdi]
lea rdx, [rsp + 0x30]
mov r8d, 8
call fcn.18001eae0
test al, al
jne 0x1800211d8
mov rax, qword [rdi]
cmp byte [rax], r14b
jne 0x1800213ad
mov ecx, 1
lea rdx, str.Pipe_closed
mov dword [rdi + 0x60], ecx
lea r8, [rdi + 0x64]
sub rcx, rdx
lea rax, [rcx + rdx]
cmp rax, 0x100
jae 0x18002136f
movzx eax, byte [rdx]
inc rdx
mov byte [r8], al
inc r8
cmp byte [rdx], r14b
jne 0x180021352
mov byte [r8], r14b
mov r8, qword [rdi + 0x18]
test r8, r8
je 0x180021391
mov eax, dword [rdi + 8]
dec eax
test eax, 0xfffffffd
jne 0x180021391
lea rdx, [rdi + 0x64]
mov ecx, dword [rdi + 0x60]
call r8
mov rbx, qword [rdi]
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx + 8], 0xffffffffffffffff
mov byte [rbx], r14b
mov dword [rdi + 8], r14d
xor al, al
mov rcx, qword [rbp + 0xff50]
xor rcx, rsp
call fcn.1800cb790
lea r11, [rsp + 0x10060]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret
lea rdx, str.Partial_data_in_frame
mov dword [rdi + 0x60], 2
mov ecx, 1
lea r8, [rdi + 0x64]
sub rcx, rdx
lea rax, [rcx + rdx]
cmp rax, 0x100
jae 0x18002136f
movzx eax, byte [rdx]
inc rdx
mov byte [r8], al
inc r8
cmp byte [rdx], r14b
jne 0x1800213f0
jmp 0x18002136f
lea rax, [rsp + 0x38]
mov qword [rbp + 0xff40], r14
mov qword [rbp + 0xff38], rax
lea rdx, [rbp + 0xff38]
lea rax, [rsp + 0x38]
mov rcx, rsi
mov qword [rbp + 0xff48], rax
call fcn.180021500
mov rcx, rsi
call fcn.18001f260
lea r8, [0x1800d1fdf]
mov dword [rdi + 0x60], eax
lea rdx, str.message
mov rcx, rsi
call fcn.18001f340
lea r9, [rdi + 0x64]
test rax, rax
je 0x1800214a1
movzx r8d, byte [rax]
mov rdx, r9
test r8b, r8b
je 0x18002149e
mov ecx, 1
nop
cmp rcx, 0x100
jae 0x18002149e
inc rax
mov byte [rdx], r8b
inc rcx
inc rdx
movzx r8d, byte [rax]
test r8b, r8b
jne 0x180021480
mov byte [rdx], r14b
mov r8, qword [rdi + 0x18]
test r8, r8
je 0x180021391
mov eax, dword [rdi + 8]
dec eax
test eax, 0xfffffffd
jne 0x180021391
mov rdx, r9
jmp 0x18002138b
lea rax, [rsp + 0x38]
mov qword [rbp + 0xff40], r14
mov qword [rbp + 0xff38], rax
lea rdx, [rbp + 0xff38]
lea rax, [rsp + 0x38]
mov rcx, rsi
mov qword [rbp + 0xff48], rax
call fcn.180021500
mov al, 1
jmp 0x1800213af