Function at 0x1800854d0
Capabilities:
Get file size

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x7d0]
sub rsp, 0x8d0
mov qword [rbp - 0x68], 0xfffffffffffffffe
mov qword [rsp + 0x920], rbx
mov rax, qword [0x1801aed20]
xor rax, rsp
mov qword [rbp + 0x7c0], rax
mov rbx, r9
mov r13d, r8d
mov rsi, rdx
mov rdi, rcx
mov r15, qword [rbp + 0x830]
xor r12b, r12b
test rcx, rcx
je 0x180085563
lea rdx, [0x1801389ec]
call fcn.1800e3d98
mov r14, rax
test rax, rax
jne 0x18008556a
call fcn.1800dd340
mov ecx, dword [rax]
call fcn.1800e9a30
mov qword [rsp + 0x20], rax
mov r9, rdi
lea r8, str.Failed_to_open_file__s___s_
mov edx, 0x400
mov rcx, rbx
call fcn.180081e30
xor al, al
jmp 0x180085755
mov rcx, r14
call fcn.1800ecc30
mov ecx, eax
call fcn.1800e9954
test rax, rax
jne 0x1800855ab
call fcn.1800dd340
mov ecx, dword [rax]
call fcn.1800e9a30
mov qword [rsp + 0x20], rax
mov r9, rdi
lea r8, str.Failed_to_get_file_handle__s___s_
mov edx, 0x400
mov rcx, rbx
call fcn.180081e30
jmp 0x180085749
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileSize]
test r15, r15
je 0x1800855be
mov dword [r15], eax
test rsi, rsi
jne 0x1800855dc
lea r8, str.Invalid_output_buffer_to_read_the_file
mov edx, 0x400
mov rcx, rbx
call fcn.180081e30
jmp 0x180085749
cmp eax, r13d
jl 0x1800855ea
lea r8, str.File_size_is_greater_than_the_maximum_allowed_limit
jmp 0x1800855ca
mov ecx, 0x400
call fcn.1800dd380
mov rbx, rax
test rax, rax
jne 0x1800856e5
lea r8, str.Failed_to_allocate_memory
mov edx, 0x7ff
lea rcx, [rbp - 0x40]
call fcn.18000e038
call fcn.18003e228
cmp dword [rax + 0x20], 3
jl 0x180085749
lea rax, [rsp + 0x58]
mov qword [rbp - 0x60], rax
lea rax, [rsp + 0x78]
mov qword [rbp - 0x58], rax
mov qword [rsp + 0x70], 7
mov qword [rsp + 0x68], rbx
mov word [rsp + 0x58], bx
lea r8d, [rbx + 0x13]
lea rdx, str.GridCommonUtils.cpp
lea rcx, [rsp + 0x58]
call fcn.18001eca0
nop
mov qword [rbp - 0x70], 7
mov qword [rbp - 0x78], rbx
mov word [rsp + 0x78], bx
lea r8d, [rbx + 0x10]
lea rdx, str.readDataFromFile
lea rcx, [rsp + 0x78]
call fcn.18001eca0
nop
lea rax, [rsp + 0x30]
mov qword [rbp - 0x48], rax
lea rax, [rbp - 0x40]
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x50]
mov qword [rsp + 0x40], rax
lea rax, vtable.Nvidia::Logging::ChainLoggable_class_Nvidia::Logging::Chain_char_const_____2048____ptr64__class_Nvidia::Logging::Chain_struct_Nvidia::Logging::NullType__struct_Nvidia::Logging::NullType___.0
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x38]
mov qword [rsp + 0x50], rax
call fcn.18003e228
mov rcx, rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x25a
lea r9, [rsp + 0x78]
lea r8, [rsp + 0x48]
lea edx, [rbx + 3]
call fcn.180019ae4
jmp 0x180085749
mov r8, r14
mov edx, 0x400
mov rcx, rbx
call fcn.1800e3cd4
or rdi, 0xffffffffffffffff
test rax, rax
je 0x180085730
nop
mov r8, rdi
inc r8
cmp byte [rbx + r8], 0
jne 0x180085703
mov rdx, rbx
mov rcx, rsi
call fcn.1800e9af0
mov r8, r14
mov edx, 0x400
mov rcx, rbx
call fcn.1800e3cd4
test rax, rax
jne 0x180085700
nop dword [rax]
lea rdi, [rdi + 1]
cmp byte [rsi + rdi], 0
jne 0x180085730
mov byte [rdi + rsi], 0
mov rcx, rbx
call fcn.1800dd360
mov r12b, 1
mov rcx, r14
call fcn.1800e3ba4
movzx eax, r12b
mov rcx, qword [rbp + 0x7c0]
xor rcx, rsp
call fcn.1800a6240
mov rbx, qword [rsp + 0x920]
add rsp, 0x8d0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret