Function at 0x140013750
Capabilities:
Get file size

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x48]
sub rsp, 0x148
mov rax, qword [0x14036f028]
xor rax, rsp
mov qword [rbp + 0x30], rax
mov r12, r9
mov r15, r8
mov rdi, rdx
mov r14, rcx
xor esi, esi
cmp dword [rcx + 0x98], esi
je 0x1400137c6
mov ebx, dword [rcx + 0x98]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp ebx, eax
je 0x1400137c6
cmp byte [r14 + 0x91], sil
jne 0x1400137c6
test ebx, ebx
je 0x1400137c6
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [r14 + 0x98], eax
je 0x1400137c6
cmp byte [r14 + 0x91], sil
je 0x140013bc4
cmp qword [r14 + 0x18], rsi
jne 0x1400137cd
int3
mov rcx, qword [r14 + 0x18]
mov rax, qword [rcx]
mov rdx, rdi
cmp qword [rdi + 0x18], 8
jb 0x1400137e1
mov rdx, qword [rdi]
mov rax, qword [rax + 0x28]
call qword [case.0x1400669c3.0]
mov r13d, esi
mov dword [rsp + 0x50], esi
mov rcx, rdi
cmp qword [rdi + 0x18], 8
jb 0x1400137ff
mov rcx, qword [rdi]
mov rbx, rsi
mov qword [rbp - 0x80], rbx
test rcx, rcx
je 0x140013bb9
and qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
mov edx, 0x80000000
call qword [sym.imp.KERNEL32.dll_CreateFileW]
cmp rax, 0xffffffffffffffff
jne 0x140013856
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
test esi, esi
js 0x14001389d
jmp 0x140013859
mov rbx, rax
and dword [rsp + 0x7c], 0
lea rdx, [rsp + 0x7c]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov r13d, eax
cmp eax, 0xffffffff
jne 0x14001388c
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
test esi, esi
js 0x140013898
cmp dword [rsp + 0x7c], 0
je 0x14001389d
mov esi, 0x800700df
mov r13d, dword [rsp + 0x50]
test rbx, rbx
je 0x1400138ab
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor ebx, ebx
test esi, esi
js 0x140013a4d
test r13d, r13d
jne 0x1400138c4
mov esi, 0xc02500bc
jmp 0x140013a4d
cmp qword [r14 + 0x18], rbx
jne 0x1400138cb
int3
mov rcx, qword [r14 + 0x18]
mov rax, qword [rcx]
mov rdx, rdi
cmp qword [rdi + 0x18], 8
jb 0x1400138df
mov rdx, qword [rdi]
mov rax, qword [rax + 0x20]
call qword [case.0x1400669c3.0]
mov esi, eax
test eax, eax
js 0x140013a4d
cmp byte [rbp + 0xb0], bl
je 0x14001392a
cmp qword [r14 + 0x18], rbx
jne 0x140013902
int3
mov rcx, qword [r14 + 0x18]
mov rax, qword [rcx]
mov rdx, rdi
cmp qword [rdi + 0x18], 8
jb 0x140013916
mov rdx, qword [rdi]
mov rax, qword [rax + 0x38]
call qword [case.0x1400669c3.0]
mov esi, eax
test eax, eax
js 0x140013a4d
mov byte [rsp + 0x78], bl
cmp qword [r15 + 0x10], rbx
je 0x140013a28
cmp qword [r12 + 0x10], rbx
je 0x140013a28
mov qword [rbp - 0x78], rbx
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x68], xmm0
mov rdx, rdi
cmp qword [rdi + 0x18], 8
jb 0x14001395c
mov rdx, qword [rdi]
mov r8, qword [rdi + 0x10]
lea rcx, [rbp - 0x78]
call fcn.14000e5cc
nop
lea rcx, [rbp - 0x78]
call fcn.140078c04
mov rsi, r12
cmp qword [r12 + 0x18], 8
jb 0x140013982
mov rsi, qword [r12]
mov rbx, r15
cmp qword [r15 + 0x18], 8
jb 0x14001398f
mov rbx, qword [r15]
mov rdx, rdi
cmp qword [rdi + 0x18], 8
jb 0x14001399c
mov rdx, qword [rdi]
lea rcx, [rsp + 0x58]
call fcn.140078d0c
nop
cmp qword [rax + 0x18], 8
jb 0x1400139b1
mov rax, qword [rax]
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rbx
mov r9, rax
call fcn.14000f5b8
nop
lea rcx, [rsp + 0x58]
call fcn.140007cf8
xor ebx, ebx
cmp qword [r14 + 0x18], rbx
jne 0x1400139d7
int3
mov rcx, qword [r14 + 0x18]
mov rax, qword [rcx]
cmp qword [r12 + 0x18], 8
jb 0x1400139ea
mov r12, qword [r12]
cmp qword [r15 + 0x18], 8
jb 0x1400139f4
mov r15, qword [r15]
mov rdx, rdi
cmp qword [rdi + 0x18], 8
jb 0x140013a01
mov rdx, qword [rdi]
lea r8, [rsp + 0x78]
mov qword [rsp + 0x20], r8
mov r9, r12
mov r8, r15
mov rax, qword [rax + 0x68]
call qword [case.0x1400669c3.0]
mov esi, eax
lea rcx, [rbp - 0x78]
call fcn.140007cf8
jmp 0x140013a3a
lea r8, [rsp + 0x78]
mov rdx, rdi
mov rcx, r14
call fcn.140010e5c
mov esi, eax
test esi, esi
js 0x140013a4d
cmp byte [rsp + 0x78], bl
jne 0x140013b97
mov esi, 0xc02500bd
cmp qword [r14 + 0x18], rbx
jne 0x140013a54
int3
mov rcx, qword [r14 + 0x18]
mov rax, qword [rcx]
mov rdx, rdi
cmp qword [rdi + 0x18], 8
jb 0x140013a68
mov rdx, qword [rdi]
mov rax, qword [rax + 0x28]
call qword [case.0x1400669c3.0]
mov qword [rbp - 0x78], rbx
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x68], xmm0
mov rdx, rdi
cmp qword [rdi + 0x18], 8
jb 0x140013a8b
mov rdx, qword [rdi]
mov r8, qword [rdi + 0x10]
lea rcx, [rbp - 0x78]
call fcn.14000e5cc
mov qword [rbp - 0x58], 0xffffffff80000001
mov byte [rbp - 0x50], bl
cmp qword [r14 + 0x18], rbx
jne 0x140013aaa
int3
mov rcx, qword [r14 + 0x18]
mov rax, qword [rcx]
lea rdx, [rbp - 0x78]
mov rax, qword [rax + 0x80]
call qword [case.0x1400669c3.0]
cmp qword [rdi + 0x18], 8
jb 0x140013acc
mov rdi, qword [rdi]
mov rdx, rdi
lea rcx, [rsp + 0x58]
call fcn.140078d0c
nop
cmp qword [rax + 0x18], 8
jb 0x140013ae4
mov rax, qword [rax]
lea rcx, str.filePath
mov qword [rbp - 8], rcx
mov dword [rbp - 0x10], reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov qword [rbp], rax
test rax, rax
je 0x140013b0e
or rcx, 0xffffffffffffffff
inc rcx
cmp word [rax + rcx*2], bx
jne 0x140013b03
jmp 0x140013b11
mov rcx, rbx
mov qword [rbp + 8], rcx
lea rax, str.result
mov qword [rbp + 0x18], rax
mov dword [rbp + 0x10], 3
mov dword [rbp + 0x20], esi
mov eax, 2
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x28], 0x34ac12ea
lea rax, [0x140317a98]
mov qword [rsp + 0x20], rax
lea r9, str.DownloaderUtil::VerifyFile
mov r8d, 0x504
lea rdx, str.D:dbs_shodct0828_230411cmdpclientonedriveProductCommonUpdateDownloaderUtilDownloaderUtil.cpp
lea rcx, [rbp - 0x48]
call fcn.14007661c
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x48]
call fcn.140078810
call fcn.1400782c4
nop
lea rcx, [rsp + 0x58]
call fcn.140007cf8
nop
lea rcx, [rbp - 0x78]
call fcn.140007cf8
mov eax, esi
mov rcx, qword [rbp + 0x30]
xor rcx, rsp
call fcn.1400209c0
add rsp, 0x148
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ecx, 0x80004005
call fcn.140007ac8
nop
mov ecx, 0x80004005
call fcn.140007ac8
int3