Function at 0x140135424
Capabilities:
Get disk size

Disassembly:
mov qword [rsp + 0x10], rbx
mov dword [rsp + 0x20], r9d
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
mov r12, r8
mov r14, rdx
mov rsi, rcx
mov rcx, qword [0x14017d3a8]
lea rax, [0x14017d3a8]
cmp rcx, rax
je 0x14013547d
test byte [rcx + 0x1c], 1
je 0x14013547d
cmp byte [rcx + 0x19], 4
jb 0x14013547d
mov rcx, qword [rcx + 0x10]
lea r8, [0x140013878]
mov edx, 0x62
call fcn.14001dd24
xor r15d, r15d
mov dil, 1
mov qword [rbp - 0x20], r15
mov qword [rbp - 0x28], r15
mov r13d, r15d
mov qword [rbp - 0x10], r15
mov qword [rbp - 0x30], r15
mov qword [rbp - 0x18], r15
mov byte [rbp + 0x40], dil
mov dword [rbp + 0x50], r15d
test rsi, rsi
jne 0x1401354bf
lea r8, [0x140013cf0]
lea rcx, [0x1400138f0]
mov edx, 0xd44
call fcn.1400a8be8
test r12, r12
jne 0x1401354dc
lea r8, [0x140013cd8]
lea rcx, [0x1400138f0]
mov edx, 0xd46
call fcn.1400a8be8
mov rbx, qword [rbp + 0x60]
test rbx, rbx
jne 0x1401354fd
lea r8, [0x140003d98]
lea rcx, [0x1400138f0]
mov edx, 0xd47
call fcn.1400a8be8
mov r15, qword [rbp + 0x68]
test r15, r15
jne 0x14013551e
lea r8, [0x140013d28]
lea rcx, [0x1400138f0]
mov edx, 0xd48
call fcn.1400a8be8
and qword [r15], r13
lea r8, [rbp + 0x50]
mov rdx, rbx
mov rcx, rsi
call fcn.140134978
mov ebx, eax
test eax, eax
js 0x1401359a5
cmp dword [rbp + 0x50], 4
jne 0x140135577
xor dil, dil
mov rcx, qword [0x14017d3a8]
lea rax, [0x14017d3a8]
cmp rcx, rax
je 0x140135577
test byte [rcx + 0x1c], 1
je 0x140135577
cmp byte [rcx + 0x19], 5
jb 0x140135577
mov rcx, qword [rcx + 0x10]
lea r8, [0x140013878]
mov edx, 0x63
call fcn.14001dd24
lea rdx, [rbp - 0x20]
mov rcx, rsi
call fcn.1400a97c0
mov ebx, eax
test eax, eax
js 0x1401359a5
mov r15, qword [rbp - 0x20]
test dil, dil
je 0x14013570c
lea r9, [rbp - 0x18]
lea rdx, [rbp - 0x10]
xor r8d, r8d
mov rcx, r15
mov byte [rsp + 0x20], 1
call fcn.140147b04
mov ebx, eax
test eax, eax
js 0x1401359a5
mov rax, qword [rbp - 0x18]
cmp r14, 0xffffffffffffffff
je 0x14013560f
cmp rax, 0xffffffffffffffff
je 0x14013560f
mov rcx, qword [0x14017d3a8]
lea rsi, [0x14017d3a8]
cmp rcx, rsi
je 0x14013560a
test byte [rcx + 0x1c], 1
je 0x14013560a
cmp byte [rcx + 0x19], 4
jb 0x14013560a
mov rcx, qword [rcx + 0x10]
lea r8, [0x140013878]
mov edx, 0x64
mov r9, rax
call fcn.140029954
mov rcx, qword [0x14017d3a8]
xor dil, dil
jmp 0x14013565e
mov rcx, qword [0x14017d3a8]
lea rdx, [0x14017d3a8]
cmp rcx, rdx
je 0x140135657
test byte [rcx + 0x1c], 1
je 0x140135657
cmp byte [rcx + 0x19], 4
jb 0x140135657
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x28], rax
lea r8, [0x140013878]
mov edx, 0x65
mov r9, rsi
mov qword [rsp + 0x20], r14
call fcn.1400293d4
mov rcx, qword [0x14017d3a8]
lea rsi, [0x14017d3a8]
mov r13, qword [rbp - 0x10]
test r13, r13
jne 0x140135692
cmp rcx, rsi
je 0x14013568f
test byte [rcx + 0x1c], 1
je 0x14013568f
cmp byte [rcx + 0x19], 5
jb 0x14013568f
mov rcx, qword [rcx + 0x10]
lea edx, [r13 + 0x66]
lea r8, [0x140013878]
xor r9d, r9d
call fcn.140029954
xor dil, dil
test dil, dil
je 0x14013570c
mov rcx, qword [rbp + 0x60]
xor edx, edx
call fcn.14011e208
mov ebx, eax
test eax, eax
js 0x1401359a5
lea rdx, [rbp - 0x28]
mov rcx, r15
call fcn.14014866c
mov ebx, eax
test eax, eax
js 0x1401359a5
mov rcx, qword [rbp + 0x60]
call fcn.14011e39c
mov r11, qword [rbp - 0x28]
cmp r13, r11
ja 0x14013570c
mov rcx, qword [0x14017d3a8]
cmp rcx, rsi
je 0x140135709
test byte [rcx + 0x1c], 1
je 0x140135709
cmp byte [rcx + 0x19], 5
jb 0x140135709
mov rcx, qword [rcx + 0x10]
lea r8, [0x140013878]
mov edx, DeleteCriticalSection
mov r9, r13
mov qword [rsp + 0x20], r11
call fcn.14001deac
xor dil, dil
mov edx, dword [rbp + 0x58]
mov rcx, r12
call fcn.14013721c
mov ebx, eax
test eax, eax
jns 0x140135755
mov rcx, qword [0x14017d3a8]
lea rsi, [0x14017d3a8]
cmp rcx, rsi
je 0x1401359ac
test byte [rcx + 0x1c], 1
je 0x1401359ac
cmp byte [rcx + 0x19], 2
jb 0x1401359ac
mov edx, DeleteCriticalSection
mov r9d, eax
jmp 0x140135951
mov rcx, qword [rbp + 0x60]
xor edx, edx
call fcn.14011e208
mov ebx, eax
test eax, eax
js 0x1401359a5
lea r9, [rbp - 0x18]
lea r8, [rbp + 0x50]
lea rdx, [rbp - 0x10]
mov rcx, r15
xor esi, esi
xor r14d, r14d
call qword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
test eax, eax
jne 0x140135794
mov rcx, r15
call fcn.140154be4
mov ebx, eax
jmp 0x14013579e
mov rsi, qword [rbp + 0x50]
mov r14, qword [rbp - 0x10]
xor ebx, ebx
test ebx, ebx
js 0x1401359a5
mov rcx, qword [rbp + 0x60]
call fcn.14011e39c
call fcn.140136920
mov r15, rax
cmp rsi, rax
cmovb r15, rsi
call fcn.140135354
lea rcx, [rax + r15]
mov r12, rax
cmp r14, rcx
jbe 0x14013581e
mov rcx, qword [0x14017d3a8]
lea rax, [0x14017d3a8]
cmp rcx, rax
je 0x140135817
test byte [rcx + 0x1c], 1
je 0x140135817
cmp byte [rcx + 0x19], 4
jb 0x140135817
mov rcx, qword [rcx + 0x10]
lea r8, [0x140013878]
mov edx, DeleteCriticalSection
mov r9, r14
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r15
call fcn.1400e9c74
mov rcx, qword [0x14017d3a8]
xor al, al
mov byte [rbp + 0x40], al
jmp 0x140135828
mov rcx, qword [0x14017d3a8]
mov al, byte [rbp + 0x40]
test dil, dil
je 0x140135919
xor edx, edx
mov qword [rbp - 0x30], rdx
test al, al
je 0x140135848
mov rdx, r12
sub rdx, r14
add rdx, r15
mov qword [rbp - 0x30], rdx
mov r8, qword [rbp - 0x28]
mov rax, r13
sub rax, r8
cmp r8, r13
sbb rsi, rsi
and rsi, rax
lea rax, [0x14017d3a8]
cmp rcx, rax
je 0x1401358d3
test byte [rcx + 0x1c], 1
je 0x140135899
cmp byte [rcx + 0x19], 5
jb 0x140135899
mov rcx, qword [rcx + 0x10]
mov r9, r12
mov r8, r15
mov qword [rsp + 0x20], r14
call fcn.140131558
mov r8, qword [rbp - 0x28]
mov rcx, qword [0x14017d3a8]
lea rax, [0x14017d3a8]
cmp rcx, rax
je 0x1401358d3
test byte [rcx + 0x1c], 1
je 0x1401358d3
cmp byte [rcx + 0x19], 5
jb 0x1401358d3
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x28], r8
lea r8, [0x140013878]
mov edx, 0x6b
mov r9, rsi
mov qword [rsp + 0x20], r13
call fcn.1400e9c74
mov rcx, qword [0x14017d3a8]
mov r8, qword [rbp - 0x30]
cmp r8, rsi
jbe 0x14013591d
xor dil, dil
lea rsi, [0x14017d3a8]
cmp rcx, rsi
je 0x140135924
test byte [rcx + 0x1c], 1
je 0x140135924
cmp byte [rcx + 0x19], 4
jb 0x140135924
mov rcx, qword [rcx + 0x10]
lea r8, [0x140013878]
mov edx, EnterCriticalSection
call fcn.14001dd24
mov rcx, qword [0x14017d3a8]
mov r8, qword [rbp - 0x30]
jmp 0x140135924
mov r8, qword [rbp - 0x30]
lea rsi, [0x14017d3a8]
mov al, byte [rbp + 0x40]
test al, al
je 0x140135963
test dil, dil
jne 0x140135968
mov ebx, 0x8078015e
cmp rcx, rsi
je 0x1401359ac
test byte [rcx + 0x1c], 1
je 0x1401359ac
cmp byte [rcx + 0x19], 2
jb 0x1401359ac
mov edx, EnterCriticalSection
mov r9d, 0x8078015e
mov rcx, qword [rcx + 0x10]
lea r8, [0x140013878]
call fcn.14001de24
jmp 0x1401359ac
test dil, dil
je 0x140135971
test al, al
je 0x140135971
mov rax, r8
jmp 0x140135973
xor eax, eax
mov rdx, qword [rbp + 0x68]
mov qword [rdx], rax
cmp rcx, rsi
je 0x1401359ac
test byte [rcx + 0x1c], 1
je 0x1401359ac
cmp byte [rcx + 0x19], 4
jb 0x1401359ac
mov rcx, qword [rcx + 0x10]
mov r9, r8
lea r8, [0x140013878]
mov edx, EnterCriticalSection
call fcn.140029954
jmp 0x1401359ac
lea rsi, [0x14017d3a8]
mov rcx, qword [rbp + 0x60]
call fcn.14011e39c
mov rcx, qword [rbp - 0x20]
test rcx, rcx
je 0x1401359c4
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rcx, qword [0x14017d3a8]
cmp rcx, rsi
je 0x1401359f1
test byte [rcx + 0x1c], 1
je 0x1401359f1
cmp byte [rcx + 0x19], 4
jb 0x1401359f1
mov rcx, qword [rcx + 0x10]
lea r8, [0x140013878]
mov edx, EnterCriticalSection
call fcn.14001dd24
mov eax, ebx
mov rbx, qword [rsp + 0xa8]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret