Function at 0x1803220b0
Capabilities:
Check if file exists
Write file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r12
push rbp
push r14
push r15
lea rbp, [rsp - 0x8830]
mov eax, 0x8930
call fcn.180358570
sub rsp, rax
mov rax, qword [0x18054e100]
xor rax, rsp
mov qword [rbp + 0x8820], rax
mov rsi, qword [0x1805d7248]
mov eax, dword [rsi + 8]
cmp eax, 3
je 0x180322530
xor edi, edi
test eax, eax
jne 0x18032221b
mov rbx, qword [rsi]
movups xmm0, xmmword [str._pipediscord_ipc_0]
movups xmmword [rbp + 0x87f0], xmm0
movups xmm1, xmmword [0x18043c830]
movups xmmword [rbp + 0x8800], xmm1
movsd xmm0, qword [0x18043c840]
movsd qword [rbp + 0x8810], xmm0
mov eax, dword [0x18043c848]
mov dword [rbp + 0x8818], eax
movzx eax, word [0x18043c84c]
mov word [rbp + 0x881c], ax
mov eax, 0x30
mov word [rbp + 0x881a], ax
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
mov edx, 0xc0000000
lea rcx, [rbp + 0x87f0]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [rbx + 8], rax
cmp rax, 0xffffffffffffffff
jne 0x180322218
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
jne 0x1803221c0
movzx eax, word [rbp + 0x881a]
cmp ax, 0x39
jae 0x180322530
inc ax
mov word [rbp + 0x881a], ax
jmp 0x1803221e5
cmp eax, 0xe7
jne 0x180322530
mov edx, 0x2710
lea rcx, [rbp + 0x87f0]
call qword [sym.imp.KERNEL32.dll_WaitNamedPipeW]
test eax, eax
je 0x180322530
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
mov edx, 0xc0000000
lea rcx, [rbp + 0x87f0]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [rbx + 8], rax
cmp rax, 0xffffffffffffffff
je 0x180322198
mov byte [rbx], 1
cmp dword [rsi + 8], 1
jne 0x18032239a
lea rcx, [rsp + 0x50]
call fcn.18009c690
nop
lea rdx, [rsp + 0x50]
mov rcx, rsi
call fcn.180322650
test al, al
je 0x18032235b
lea r8, [0x180502710]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x50]
call fcn.18009c4b0
mov eax, dword [rsp + 0x50]
shl rax, 5
mov rcx, qword [rsp + 0x58]
movabs r15, 0xffffffffffff
and rcx, r15
add rax, rcx
mov r12d, 0x1000
mov rcx, qword [rsp + 0x40]
cmp rcx, rax
je 0x1803222a8
movzx eax, word [rcx + 0x1e]
shr ax, 0xa
test al, 1
je 0x1803222a8
lea r14, [rcx + 0x10]
test word [r14 + 0xe], r12w
jne 0x1803222ab
mov r14, qword [r14 + 8]
and r14, r15
jmp 0x1803222ab
mov r14, rdi
lea r8, [0x180460b28]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x50]
call fcn.18009c4b0
mov eax, dword [rsp + 0x50]
shl rax, 5
mov rcx, qword [rsp + 0x58]
and rcx, r15
add rax, rcx
mov rcx, qword [rsp + 0x40]
cmp rcx, rax
je 0x1803222fe
movzx eax, word [rcx + 0x1e]
shr ax, 0xa
test al, 1
je 0x1803222fe
lea rbx, [rcx + 0x10]
test word [rbx + 0xe], r12w
jne 0x180322301
mov rbx, qword [rbx + 8]
and rbx, r15
jmp 0x180322301
mov rbx, rdi
test r14, r14
je 0x18032235b
test rbx, rbx
je 0x18032235b
lea rdx, str.DISPATCH
mov rcx, r14
call fcn.18038cc40
test eax, eax
jne 0x18032235b
lea rcx, str.READY
nop word [rax + rax]
movzx eax, byte [rbx + rdi]
inc rdi
cmp al, byte [rcx + rdi - 1]
jne 0x18032235b
cmp rdi, 6
jne 0x180322330
mov dword [rsi + 8], 3
mov rax, qword [rsi + 0x10]
test rax, rax
je 0x18032235b
lea rcx, [rsp + 0x50]
call rax
nop
lea rcx, [rbp + 0x7fb8]
call fcn.18009c630
mov rbx, qword [rsp + 0x68]
test rbx, rbx
je 0x180322386
mov rcx, rbx
call fcn.18009c630
mov edx, 0x28
mov rcx, rbx
call fcn.180357650
mov edx, 0x810
mov rcx, qword [rsp + 0x78]
call fcn.180357650
jmp 0x180322530
lea r14, [rsi + 0x164]
mov dword [r14], edi
lea rcx, [rsi + 0x16c]
lea rax, [rbp - 0x70]
mov qword [rsp + 0x50], rax
lea rax, [rbp - 0x58]
mov qword [rsp + 0x58], rax
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x60], xmm0
xorps xmm1, xmm1
movdqa xmmword [rsp + 0x70], xmm1
mov qword [rbp - 0x80], 0x800
mov dword [rbp - 0x78], 0x144
mov byte [rbp - 0x74], dil
mov qword [rbp - 0x70], rcx
lea rax, [rcx + 0xfff8]
mov qword [rbp - 0x68], rax
mov qword [rbp - 0x60], rcx
lea rax, [rbp - 0x48]
mov qword [rbp - 0x58], rax
lea rax, [rbp + 0x7b8]
mov qword [rbp - 0x50], rax
lea rcx, [rsp + 0x50]
call fcn.180324a40
mov r8d, 1
lea rdx, [0x18048ee48]
lea rcx, [rsp + 0x50]
call fcn.180324e10
mov edx, 1
lea rcx, [rsp + 0x50]
call fcn.180324c00
mov r8d, 9
lea rdx, str.client_id
lea rcx, [rsp + 0x50]
call fcn.180324e10
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rsi + r8 + 0x20], 0
jne 0x180322460
lea rdx, [rsi + 0x20]
lea rcx, [rsp + 0x50]
call fcn.180324e10
sub qword [rsp + 0x70], 0x10
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax + 0x10]
cmp rcx, qword [rax + 8]
jae 0x180322495
mov byte [rcx], 0x7d
inc qword [rax + 0x10]
mov rbx, qword [rbp - 0x60]
sub rbx, qword [rbp - 0x70]
mov edx, 0x810
mov rcx, qword [rsp + 0x60]
call fcn.180357650
mov dword [rsi + 0x168], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1803224f6
mov rcx, qword [rcx + 8]
cmp rcx, 0xffffffffffffffff
je 0x1803224f6
test r14, r14
je 0x1803224f6
add ebx, 8
mov dword [rsp + 0x40], edi
mov qword [rsp + 0x20], rdi
lea r9, [rsp + 0x40]
mov r8d, ebx
mov rdx, r14
call qword [sym.imp.KERNEL32.dll_WriteFile]
cmp eax, 1
jne 0x1803224f6
cmp dword [rsp + 0x40], ebx
jne 0x1803224f6
mov dword [rsi + 8], eax
jmp 0x180322530
mov r8, qword [rsi + 0x18]
test r8, r8
je 0x180322515
mov eax, dword [rsi + 8]
dec eax
test eax, 0xfffffffd
jne 0x180322515
lea rdx, [rsi + 0x64]
mov ecx, dword [rsi + 0x60]
call r8
mov rbx, qword [rsi]
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx + 8], 0xffffffffffffffff
mov byte [rbx], 0
mov dword [rsi + 8], edi
mov rcx, qword [rbp + 0x8820]
xor rcx, rsp
call fcn.180357630
lea r11, [rsp + 0x8930]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret