Function at 0x180047480
Capabilities:
Get file size
Read file via mapping

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], r9
mov dword [rsp + 8], ecx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x17]
sub rsp, 0xf0
imul eax, ecx, 0x1c0
mov rbx, r9
mov r14, r8
mov r13, rdx
mov edi, ecx
mov esi, ecx
mov dword [rsp + 0x58], eax
cmp ecx, eax
ja 0x180047550
mov r12, qword [rbp - 0x61]
mov edx, 4
mov r15d, dword [rbp + 0x57]
mov ecx, 2
cmp esi, 0x1b2a
ja 0x18004784a
je 0x180047550
cmp esi, 0xc59
ja 0x18004769f
je 0x1800475f8
cmp esi, 0x6c
je 0x1800475c1
cmp esi, 0x7a
je 0x18004756f
cmp esi, 0xc3c
jne 0x180047a56
cmp dword [r13], ecx
je 0x180047a56
mov qword [rsp + 0x38], 0
lea rcx, [rbp - 0x31]
mov qword [rsp + 0x30], 0
xor r9d, r9d
mov qword [rsp + 0x28], r14
xor r8d, r8d
xor edx, edx
mov dword [rsp + 0x20], 0xb5
call fcn.18004e110
mov eax, dword [rax]
mov byte [rsp + 0x40], al
mov eax, dword [rsp + 0x40]
mov rbx, qword [rsp + 0x138]
add rsp, 0xf0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
cmp dword [r13], 2
jne 0x180047a6e
mov rax, qword [rbp + 0x77]
cmp qword [rax], 0
jne 0x180047a56
mov qword [rsp + 0x30], rax
lea rdx, [rsp + 0x50]
lea rax, [rsp + 0x48]
mov dword [rsp + 0x28], 0xa8
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov r8, r14
mov byte [rsp + 0x50], 0
mov rcx, r13
mov byte [rsp + 0x48], 1
call fcn.18007f7d0
jmp 0x180047a51
cmp dword [r13], 1
je 0x180047a78
xor eax, eax
xorps xmm0, xmm0
mov qword [rbp + 7], rax
mov rax, qword [r14 + 0x58]
movups xmmword [rbp - 0x59], xmm0
movups xmmword [rbp - 0x49], xmm0
movsd xmm0, qword [rbp + 7]
movsd qword [rbp - 0x39], xmm0
mov rax, qword [rax + 0x10]
mov qword [rbp - 0x71], rax
jmp 0x180047a56
mov eax, dword [r13]
xor r9d, r9d
mov qword [rsp + 0x30], 0
mov rcx, r14
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
lea edx, [rax + rax*2]
shl edx, 0x1e
lea r8d, [r9 + 1]
bts edx, 0x1f
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [rbp - 0x69], rax
mov r15, rax
cmp rax, 0xffffffffffffffff
jne 0x18004768c
mov edi, PathYetAnotherMakeUniqueName
cmp edi, 0x47
je 0x180047651
cmp edi, 0x56
je 0x180047550
jmp 0x180047681
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, 2
mov ebx, eax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r9d, ebx
lea rdx, str.float16___OVERLOADABLE___erf_float16__
mov rcx, rax
mov r8, r14
call fcn.1800ba9c0
mov dword [rsp + 0x40], 1
add edi, 0xf
cmp edi, 0x65
jb 0x180047641
mov edi, dword [rbp + 0x57]
xor edx, edx
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov r15d, eax
jmp 0x180047a51
mov eax, esi
sub eax, 0xdd2
je 0x1800477e8
sub eax, 0xa3a
je 0x18004777f
cmp eax, 0x39
jne 0x180047a56
cmp r15d, 0xffffffff
jne 0x180047729
mov edi, 0x52
nop dword [rax + rax]
cmp edi, 0x52
je 0x1800476e3
cmp edi, 0x3af0
je 0x180047550
jmp 0x180047713
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, 2
mov ebx, eax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r9d, ebx
lea rdx, str.const_int2_gi___v1__v3__HALF_MAX____MAX_NUM_
mov rcx, rax
mov r8, r14
call fcn.1800ba9c0
mov dword [rsp + 0x40], 1
add edi, 0x3a9e
cmp edi, 0x753c
jbe 0x1800476d0
mov edi, dword [rbp + 0x57]
jmp 0x180047a51
test r15d, r15d
jne 0x180047a56
mov ebx, 0x125
mov eax, ebx
sub eax, 0x125
je 0x18004774b
cmp eax, 1
je 0x180047550
jmp 0x180047770
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8, r14
lea rdx, str.DB_IPCE_IS_TRANSITION_STUB
mov rcx, rax
call fcn.1800ba9c0
mov ecx, 2
mov dword [rsp + 0x40], 1
inc ebx
cmp ebx, 0x127
jb 0x180047737
jmp 0x180047a51
lea rax, [rbp - 0x59]
mov byte [rsp + 0x48], 0
mov qword [rsp + 0x30], rax
lea rdx, [rsp + 0x48]
lea rax, [rsp + 0x50]
mov dword [rsp + 0x28], 0xa8
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov r8, r14
mov byte [rsp + 0x50], 1
mov rcx, r13
call fcn.18007f7d0
mov rax, qword [rbp - 0x49]
mov r9d, 0xa5
mov rdx, qword [rbp - 0x59]
xor r8d, r8d
mov qword [rbp - 0x79], rax
xor ecx, ecx
lea rax, [rbp - 0x79]
mov qword [rsp + 0x20], rax
call fcn.180080310
mov rcx, qword [rbp - 0x71]
mov dword [rcx + 4], eax
jmp 0x180047a51
mov rcx, qword [rbp + 0x77]
mov r9d, 0xa5
xor r8d, r8d
mov rax, qword [rcx + 0x10]
mov rdx, qword [rcx]
xor ecx, ecx
mov qword [rbp - 0x79], rax
lea rax, [rbp - 0x79]
mov qword [rsp + 0x20], rax
call fcn.180080310
mov rdx, qword [rbp + 0x7f]
cmp dword [rdx], eax
jne 0x180047840
mov ecx, 0x4c
nop dword [rax]
mov eax, ecx
sub eax, 0x4b
je 0x180047550
cmp eax, 1
jne 0x180047839
mov eax, dword [rdx]
mov dword [rbx], eax
mov byte [rsp + 0x40], 1
dec ecx
cmp ecx, 0x4a
ja 0x180047820
mov byte [rsp + 0x40], 0
jmp 0x180047a51
cmp esi, 0x301d
ja 0x180047a0b
je 0x1800479d4
mov eax, esi
sub eax, 0x23dc
je 0x180047980
sub eax, 0x55
je 0x1800478c8
cmp eax, 0xb7b
jne 0x180047a56
mov qword [rsp + 0x38], 0
lea rcx, [rbp - 0x31]
mov qword [rsp + 0x30], 0
xor r9d, r9d
mov qword [rsp + 0x28], r14
xor r8d, r8d
xor edx, edx
mov dword [rsp + 0x20], 0xb5
call fcn.18004e110
mov eax, dword [rax]
xor r9d, r9d
mov byte [rbp + 0x57], al
lea r8, [rbp + 0x57]
mov ecx, 0x9c
lea rdx, [rbp - 0x59]
call fcn.1800329f0
jmp 0x18004754c
cmp dword [r13], 0
mov r8d, ecx
mov rcx, qword [rbp - 0x69]
cmovne r8d, edx
mov qword [rsp + 0x28], 0
xor r9d, r9d
mov dword [rsp + 0x20], 0
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov qword [rbp - 0x61], rax
mov r12, rax
test rax, rax
jne 0x18004794e
mov edi, 0xe1
mov eax, edi
sub eax, 0xe1
je 0x180047919
cmp eax, 1
je 0x180047a01
jmp 0x180047941
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, 2
mov ebx, eax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r9d, ebx
lea rdx, str.vanguard.interprocess.session_does_not_exist_exception.ctor
mov rcx, rax
mov r8, r14
call fcn.1800ba9c0
inc edi
cmp edi, 0xe3
jb 0x180047905
mov edi, dword [rbp + 0x57]
cmp dword [r13], 0
mov edx, 4
mov eax, 2
mov qword [rsp + 0x20], 0
cmovne edx, eax
mov rcx, r12
xor r9d, r9d
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov r12, rax
jmp 0x180047a51
mov rax, qword [rbp - 0x71]
mov eax, dword [rax + 4]
cmp eax, 0x9d
ja 0x1800479ab
je 0x180047a82
sub eax, 0x18
je 0x180047a82
sub eax, 0x7a
je 0x180047a82
cmp eax, 1
jmp 0x1800479c4
sub eax, 0x9e
je 0x180047a82
sub eax, 0x35
je 0x180047a82
cmp eax, 0x9c
je 0x180047a82
mov esi, 0x23dc
jmp 0x180047a56
test r12, r12
jne 0x180047a56
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [r12 + 2]
mov ebx, eax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r9d, ebx
lea rdx, str.ivec4_texture2DArrayGrad_isampler2DArray_vec3_vec2_vec2__
mov rcx, rax
mov r8, r14
call fcn.1800ba9c0
mov eax, 1
jmp 0x180047554
cmp esi, 0x3c09
je 0x180047a3d
cmp esi, 0x47f5
je 0x180047a29
cmp esi, 0x53e1
je 0x180047550
jmp 0x180047a56
mov rax, qword [rbp + 0x7f]
mov qword [rbx], r12
mov dword [rsp + 0x40], 0
mov dword [rax], r15d
jmp 0x180047a56
mov rcx, qword [rbp - 0x61]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbp - 0x69]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, 4
imul eax, edi, 0x1c
add esi, eax
cmp esi, dword [rsp + 0x58]
ja 0x180047550
mov rbx, qword [rbp + 0x6f]
jmp 0x1800474d1
mov byte [rsp + 0x40], 0
jmp 0x180047550
mov byte [rsp + 0x40], 1
jmp 0x180047550
mov qword [rsp + 0x28], 0
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], r14
mov edx, 0xee
xor ecx, ecx
call fcn.180095310
jmp 0x1800478ab