Function at 0x180034500
Capabilities:
Check if file exists
Get file attributes
Write file on windows

Disassembly:
push rbx
push rsi
push rdi
push r14
mov eax, 0x10a8
call fcn.180039e40
sub rsp, rax
mov rax, qword [0x180049010]
xor rax, rsp
mov qword [rsp + 0x1080], rax
mov eax, dword [r9]
lea rdx, [0x180040660]
mov r14, r9
mov dword [rsp + 0x20], eax
mov r9, qword [r8]
mov rsi, r8
mov rdi, rcx
call fcn.1800343c0
mov edx, dword [r14]
lea rax, [rsp + 0x50]
mov rcx, qword [rsi]
lea r9, [0x18003b8ce]
mov r8d, 0x22
mov qword [rsp + 0x20], rax
call qword [sym.imp.D3DCOMPILER_47.dll_D3DDisassemble]
test eax, eax
js 0x1800345a7
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rcx, qword [rsp + 0x50]
mov rbx, rax
mov rdx, qword [rcx]
call qword [rdx + 0x20]
mov r9, rbx
lea rdx, [0x18004065c]
mov dword [rsp + 0x20], eax
call fcn.1800343c0
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x1800345a7
mov rax, qword [rcx]
call qword [rax + 0x10]
lea r9, [0x1800409c4]
mov qword [rsp + 0x20], 1
lea r8, [0x18004a1d0]
lea rdx, str._s_S__016I64x.hlsl
lea rcx, [rsp + 0x80]
call qword [sym.imp.USER32.dll_wsprintfW]
lea rcx, [rsp + 0x80]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1800347c4
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x128]
lea ecx, [rax - 0xb000]
test ecx, 0xfffffeff
je 0x180034624
cmp eax, 0xa100
jne 0x180034612
mov ecx, 0x29
jmp 0x180034629
cmp eax, 0xa000
jne 0x1800347c4
mov ecx, 0x28
jmp 0x180034629
mov ecx, 0x32
mov eax, 0xcccccccd
mov qword [rsp + 0x1098], r12
mul ecx
lea r8, [0x1800409c4]
shr edx, 3
mov r9d, edx
lea eax, [rdx + rdx*4]
add eax, eax
lea rdx, str._s__u__u
sub ecx, eax
mov dword [rsp + 0x20], ecx
lea rcx, [rsp + 0x68]
call qword [sym.imp.USER32.dll_wsprintfA]
xor r12d, r12d
lea rax, [rsp + 0x50]
mov qword [rsp + 0x40], rax
lea r9, str.main
lea rax, [rsp + 0x58]
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x38], rax
lea rcx, [rsp + 0x80]
mov dword [rsp + 0x30], r12d
lea rax, [rsp + 0x68]
mov dword [rsp + 0x28], 0x4c000
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x50], r12
call qword [sym.imp.D3DCOMPILER_47.dll_D3DCompileFromFile]
mov edi, eax
cmp qword [rsp + 0x50], r12
je 0x180034797
mov qword [rsp + 0x10a0], rbp
lea r9, [0x1800409c4]
lea r8, [0x18004a1d0]
mov qword [rsp + 0x1090], r15
lea rdx, str._s_S__016I64x.hlsl.txt
mov qword [rsp + 0x20], 1
lea rcx, [rsp + 0x880]
call qword [sym.imp.USER32.dll_wsprintfW]
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rcx]
call qword [rdx + 0x18]
mov rcx, qword [rsp + 0x50]
mov rbp, rax
mov rdx, qword [rcx]
call qword [rdx + 0x20]
mov qword [rsp + 0x30], r12
lea rcx, [rsp + 0x880]
mov dword [rsp + 0x28], 0x80
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], 2
mov edx, 0x40000000
mov r15, rax
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x180034772
lea r9, [rsp + 0x60]
mov qword [rsp + 0x20], r12
mov r8d, r15d
mov rdx, rbp
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x50]
mov r15, qword [rsp + 0x1090]
mov rbp, qword [rsp + 0x10a0]
test rcx, rcx
je 0x180034797
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsp + 0x50], r12
mov r12, qword [rsp + 0x1098]
test edi, edi
js 0x1800347c4
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x1800347c4
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rcx, qword [rsp + 0x58]
mov qword [rsi], rax
mov rax, qword [rcx]
call qword [rax + 0x20]
mov qword [r14], rax
mov rcx, qword [rsp + 0x1080]
xor rcx, rsp
call fcn.180038bc0
add rsp, 0x10a8
pop r14
pop rdi
pop rsi
pop rbx
ret