Function at 0x140006979
Capabilities:
Get file size

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x168
mov dword [rsp + 0x1b8], edx
mov rbx, rcx
mov r14d, r8d
mov ebp, r9d
test rcx, rcx
je 0x140006b6c
call fcn.1400797e8
cmp rax, 4
jbe 0x140006b6c
cmp byte [rbx], 0x5c
jne 0x140006b6c
cmp byte [rbx + 1], 0x5c
jne 0x140006b6c
cmp byte [rbx + 3], 0x5c
jne 0x140006b6c
mov rdx, qword [str._GLOBALROOT]
test rdx, rdx
jne 0x1400069e4
lea rdx, [0x140089480]
mov r8d, 0xe
mov rcx, rbx
call fcn.140079800
test eax, eax
lea rax, [rsp + 0x5c]
mov qword [rsp + 0x40], rax
jne 0x140006a2b
lea r8, [rbx + 0xe]
mov rcx, r8
mov qword [rsp + 0x48], r8
call fcn.1400797e8
mov r8, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
mov edx, 0x104
lea r9, [rax + 1]
call fcn.140006940
jmp 0x140006a55
mov rdx, qword [rsp + 0x40]
lea rcx, [rbx + 4]
mov r8d, 0x104
call qword [0x14011c6c0]
test eax, eax
jne 0x140006a55
mov rcx, qword [rsp + 0x40]
lea rdx, [0x140089498]
call fcn.1400797d8
mov rax, qword [sym.imp.KERNEL32.DLL_DeleteCriticalDeleteFileW]
cmp r14d, 1
mov r15d, 3
sbb r13d, r13d
xor edi, edi
xor r12d, r12d
mov qword [rsp + 0x48], rax
and r13d, 0xc0000000
sub r13d, 0x40000000
mov r8d, 1
test ebp, ebp
je 0x140006a91
mov r8d, 3
xor r11d, r11d
mov dword [rsp + 0x20], r15d
mov rax, qword [rsp + 0x48]
xor r9d, r9d
mov qword [rsp + 0x30], r11
mov edx, r13d
mov rcx, rbx
mov dword [rsp + 0x28], pe_nt_image_headers64
call rax
mov rsi, rax
cmp rax, 0xffffffffffffffff
jne 0x140006b4e
call qword [sym.imp.KERNEL32.DLL_PeekNamedPipe]
cmp eax, 0x20
jne 0x140006af5
test r12d, r12d
jne 0x140006b02
mov rdx, qword [rsp + 0x40]
lea rcx, str.Notice:_Volume_Device_Path_is__s
call fcn.140038472
mov rdx, rbx
lea rcx, str.Waiting_for_access_on__s...
call fcn.140038472
jmp 0x140006b31
call qword [sym.imp.KERNEL32.DLL_PeekNamedPipe]
cmp eax, 5
je 0x140006ace
jmp 0x140006b55
test ebp, ebp
jne 0x140006b31
cmp r12d, 0x32
jle 0x140006b31
lea rcx, str.Warning:_Could_not_obtain_exclusive_rights._Retrying_with_write_sharing_enabled...
mov ebp, 1
call fcn.140038472
xor r8d, r8d
mov edx, 7
mov ecx, 0x1388
call fcn.140027df9
mov edi, eax
inc r12d
mov ecx, 0x64
call qword [0x14011c770]
cmp r12d, 0x96
jne 0x140006a81
jmp 0x140006b55
test r14d, r14d
jne 0x140006b75
jmp 0x140006b96
call fcn.14003893c
mov rdx, rbx
lea rcx, [0x14008952c]
mov r8, rax
call fcn.140038472
or rsi, 0xffffffffffffffff
jmp 0x140006caa
lea r8, str.exclusive
test ebp, ebp
je 0x140006b87
lea r8, str.shared
mov rdx, rbx
lea rcx, str.Opened__s_for__s_write_access
call fcn.140038472
cmp dword [rsp + 0x1b8], 0
je 0x140006caa
xor r8d, r8d
xor r9d, r9d
xor r10d, r10d
mov r14, qword [sym.imp.KERNEL32.DLL_GetFileSizeEx]
mov qword [rsp + 0x38], r8
mov edx, 0x90083
mov rcx, rsi
mov qword [rsp + 0x30], r8
xor r8d, r8d
mov dword [rsp + 0x28], r9d
xor r9d, r9d
mov qword [rsp + 0x20], r10
call r14
test eax, eax
je 0x140006be9
lea rcx, str.I_O_boundary_checks_disabled
call fcn.140038472
mov r13, qword [0x14011c5c0]
call r13
mov r12, qword [0x1400b5de0]
mov r15, qword [0x14011c770]
lea rbp, [rax + 0x3a98]
xor eax, eax
xor edx, edx
xor ecx, ecx
xor r9d, r9d
mov dword [rsp + 0x28], edx
xor r8d, r8d
mov edx, 0x90018
mov qword [rsp + 0x20], rcx
mov rcx, rsi
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
call r14
test eax, eax
jne 0x140006caa
cmp dword [r12], 0
jns 0x140006c76
call fcn.14003893c
mov rdx, rbx
lea rcx, str.Could_not_lock_access_to__s:__s
mov r8, rax
call fcn.140038472
cmp dword [r12], 0
js 0x140006c88
test dil, dil
jne 0x140006c88
xor r8d, r8d
mov edx, 7
mov ecx, 0x1388
call fcn.140027df9
mov edi, eax
jmp 0x140006c88
mov ecx, 0x64
call r15
call r13
cmp rax, rbp
jb 0x140006c08
jmp 0x140006c3d
and edi, 7
dec dil
je 0x140006caa
lea rax, [rsi - 1]
cmp rax, 0xfffffffffffffffd
ja 0x140006ca8
mov rcx, rsi
call qword [sym.imp.KERNEL32.DLL_CreateDirectorCreateEventACreateFileA]
jmp 0x140006b6c
xor esi, esi
mov rax, rsi
add rsp, 0x168
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret