Function at 0x1800c5e90
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 0x1800c5ee5
mov byte [r15], 1
jmp 0x1800c6266
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 0x1800c6043
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r14d, eax
call fcn.1802a90c0
mov r15d, dword [rax]
call fcn.180174410
test al, al
je 0x1800c6232
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 0x1800c602d
test rax, rax
je 0x1800c6025
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::RCUserDictExLoader::LoadUserDictExData
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x97
lea r9, str.e:zhanlue2345inputprojectlibpinyindata_srcloader_rcuserdictexloader.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 0x1800c5ffc
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 0x1800c6232
mov rcx, rsi
call fcn.180299904
jmp 0x1800c6232
mov rsi, r12
test rbx, rbx
je 0x1800c6122
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x1800c6122
lea rdx, [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov ebp, eax
cmp eax, 0xffffffff
jne 0x1800c607c
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1800c6122
mov esi, dword [rsp + 0x68]
shl rsi, 0x20
add rsi, rbp
cmp rsi, 0x4c
jb 0x1800c6122
mov edx, dword [r14 + 0xc0]
add edx, esi
mov rcx, r14
call fcn.1800a6c30
test al, al
je 0x1800c6232
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x28]
mov rsi, rax
test rax, rax
je 0x1800c6232
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 0x1800c6104
cmp dword [rsi], 0x20180517
jne 0x1800c6104
mov dil, 1
jmp 0x1800c6113
mov rcx, r14
call fcn.1800a6db0
mov byte [r15], 1
xor dil, dil
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x60], rbp
jmp 0x1800c6235
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r12d, eax
call fcn.1802a90c0
mov r13d, dword [rax]
call fcn.180174410
test al, al
je 0x1800c622b
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 0x1800c621e
test rax, rax
je 0x1800c6216
xor edx, edx
mov r8d, 0x2000
mov rcx, r14
call fcn.18029c350
mov dword [rsp + 0x40], r13d
mov dword [rsp + 0x38], r12d
lea rax, [0x18037cdb0]
mov qword [rsp + 0x30], rax
lea rax, str.RC::RCUserDictExLoader::LoadUserDictExData
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xa0
lea r9, str.e:zhanlue2345inputprojectlibpinyindata_srcloader_rcuserdictexloader.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 0x1800c61e9
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 0x1800c622b
mov rcx, rbp
call fcn.180299904
mov byte [r15], 1
xor r12d, r12d
xor dil, dil
test rbx, rbx
je 0x1800c6262
mov rcx, qword [rbx]
lea r8, [rcx - 1]
cmp r8, 0xfffffffffffffffd
ja 0x1800c6250
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