Function at 0x1800c69a0
Capabilities:
Get file size

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x80
mov qword [rsp + 0x58], 0xfffffffffffffffe
mov qword [rsp + 0xd8], rbx
mov rax, qword [0x1804610b0]
xor rax, rsp
mov qword [rsp + 0x70], rax
mov r15, r8
mov rdi, rdx
mov r14, rcx
mov byte [r8], 0
mov rcx, rdx
call fcn.1801dbd90
test al, al
jne 0x1800c69f5
mov byte [r15], 1
jmp 0x1800c6d76
xor r12d, r12d
mov qword [rsp + 0x50], r12
lea ecx, [r12 + 8]
call fcn.1802994e4
mov qword [rsp + 0x68], rax
mov qword [rax], 0xffffffffffffffff
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x20], 3
lea r9d, [r12 + 1]
mov r8d, 0x80000000
mov rdx, rdi
lea rcx, [rsp + 0x50]
call fcn.18016bb70
mov rbx, qword [rsp + 0x50]
test al, al
jne 0x1800c6b53
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r14d, eax
call fcn.1802a90c0
mov r15d, dword [rax]
call fcn.180174410
test al, al
je 0x1800c6d42
lea rdx, [0x180488a90]
mov ecx, 0x2000
call fcn.180299938
mov rbp, rax
lea rdx, [0x180488a90]
mov ecx, 0x2000
call fcn.180299938
mov rsi, rax
test rbp, rbp
je 0x1800c6b3d
test rax, rax
je 0x1800c6b35
xor edx, edx
mov r8d, 0x2000
mov rcx, rbp
call fcn.18029c350
mov dword [rsp + 0x40], r15d
mov dword [rsp + 0x38], r14d
lea rax, [0x18037ccf8]
mov qword [rsp + 0x30], rax
lea rax, str.RC::RCCiCacheExLoader::LoadCiCacheExData
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x98
lea r9, str.e:zhanlue2345inputprojectlibpinyindata_srcloader_rccicacheexloader.cpp
lea r8, str._s__d___s:__s_LastError_d_errno_d
mov edx, 0x1000
mov rcx, rbp
call fcn.180034d20
xor edx, edx
mov r8d, 0x2000
mov rcx, rsi
call fcn.18029c350
cmp qword [rdi + 0x18], 8
jb 0x1800c6b0c
mov rdi, qword [rdi]
mov r9, rdi
mov r8, rbp
mov edx, 0x1000
mov rcx, rsi
call fcn.180034d20
mov r8, rsi
lea rdx, [0x1803776d8]
lea rcx, str.ResErr
call fcn.180174430
mov rcx, rbp
call fcn.180299904
test rsi, rsi
je 0x1800c6d42
mov rcx, rsi
call fcn.180299904
jmp 0x1800c6d42
mov rsi, r12
test rbx, rbx
je 0x1800c6c32
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x1800c6c32
lea rdx, [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov ebp, eax
cmp eax, 0xffffffff
jne 0x1800c6b8c
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1800c6c32
mov esi, dword [rsp + 0x68]
shl rsi, 0x20
add rsi, rbp
cmp rsi, 0x4c
jb 0x1800c6c32
mov edx, dword [r14 + 0xc0]
add edx, esi
mov rcx, r14
call fcn.1800a6c30
test al, al
je 0x1800c6d42
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x28]
mov rsi, rax
test rax, rax
je 0x1800c6d42
lea rbp, vtable.RC::IWordLibFileUtil.0
mov qword [rsp + 0x60], rbp
lea r13, vtable.RC::RCWordLibFileUtil.0
mov qword [rsp + 0x60], r13
mov rdx, qword [r14]
mov rcx, r14
call qword [rdx + 0x30]
mov r9d, eax
mov r8, rsi
mov rdx, rdi
lea rcx, [rsp + 0x60]
call fcn.180094160
test al, al
je 0x1800c6c14
cmp dword [rsi], 0x20180518
jne 0x1800c6c14
mov dil, 1
jmp 0x1800c6c23
mov rcx, r14
call fcn.1800a6db0
mov byte [r15], 1
xor dil, dil
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x60], rbp
jmp 0x1800c6d45
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r12d, eax
call fcn.1802a90c0
mov r13d, dword [rax]
call fcn.180174410
test al, al
je 0x1800c6d3b
lea rdx, [0x180488a90]
mov ecx, 0x2000
call fcn.180299938
mov r14, rax
lea rdx, [0x180488a90]
mov ecx, 0x2000
call fcn.180299938
mov rbp, rax
test r14, r14
je 0x1800c6d2e
test rax, rax
je 0x1800c6d26
xor edx, edx
mov r8d, 0x2000
mov rcx, r14
call fcn.18029c350
mov dword [rsp + 0x40], r13d
mov dword [rsp + 0x38], r12d
lea rax, [0x18037d0e0]
mov qword [rsp + 0x30], rax
lea rax, str.RC::RCCiCacheExLoader::LoadCiCacheExData
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xa1
lea r9, str.e:zhanlue2345inputprojectlibpinyindata_srcloader_rccicacheexloader.cpp
lea r8, str._s__d___s:__s_LastError_d_errno_d
mov edx, 0x1000
mov rcx, r14
call fcn.180034d20
xor edx, edx
mov r8d, 0x2000
mov rcx, rbp
call fcn.18029c350
cmp qword [rdi + 0x18], 8
jb 0x1800c6cf9
mov rdi, qword [rdi]
mov dword [rsp + 0x20], esi
mov r9, rdi
mov r8, r14
mov edx, 0x1000
mov rcx, rbp
call fcn.180034d20
mov r8, rbp
lea rdx, [0x1803776d8]
lea rcx, str.ResErr
call fcn.180174430
mov rcx, r14
call fcn.180299904
test rbp, rbp
je 0x1800c6d3b
mov rcx, rbp
call fcn.180299904
mov byte [r15], 1
xor r12d, r12d
xor dil, dil
test rbx, rbx
je 0x1800c6d72
mov rcx, qword [rbx]
lea r8, [rcx - 1]
cmp r8, 0xfffffffffffffffd
ja 0x1800c6d60
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx], r12
mov edx, 8
mov rcx, rbx
call fcn.180299904
mov qword [rsp + 0x50], r12
movzx eax, dil
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.1802994c0
mov rbx, qword [rsp + 0xd8]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret