Function at 0x100032c98
Capabilities:
Get disk size

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x68
mov rbp, r8
mov r13, rdx
mov r15, rcx
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x100032cef
test byte [rcx + 0x1c], 1
je 0x100032cef
cmp byte [rcx + 0x19], 4
jb 0x100032cef
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003d08]
mov edx, 0x1e8
call fcn.10001c7b8
xor ebx, ebx
mov esi, ebx
mov r12d, ebx
mov dword [rsp + 0x30], ebx
mov rdi, rbx
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0xb0], ebx
cmp dword [r15 + 0x170], ebx
ja 0x100032d2a
lea r8, [0x100005118]
lea rcx, [0x1000046e0]
mov edx, 0x2d99
call fcn.100099ad8
cmp r13, rbx
jne 0x100032d47
lea r8, [0x100005128]
lea rcx, [0x1000046e0]
mov edx, 0x2d9a
call fcn.100099ad8
mov qword [r13], rbx
mov dword [rbp], ebx
mov ecx, dword [r15 + 0x170]
cmp ecx, ebx
jbe 0x100032d80
mov rax, qword [r15 + 0xd8]
mov rdx, rcx
add rax, 0x14
cmp dword [rax], 0xc
je 0x100032d6f
inc r12d
add rax, 0x160
sub rdx, 1
jne 0x100032d67
mov dword [rsp + 0x30], r12d
mov ebp, r12d
imul rbp, rbp, 0x78
mov rcx, rbp
call qword [sym.imp.ole32.dll_CoTaskMemAlloc]
mov r14, rax
cmp rax, rbx
jne 0x100032da2
mov esi, 0x8007000e
jmp 0x100033041
mov r8, rbp
xor edx, edx
mov rcx, rax
call sub.msvcrt.dll_memset
mov dword [rsp + 0xc8], ebx
cmp dword [r15 + 0x170], ebx
jbe 0x100032fc1
mov r12, rbx
mov qword [rsp + 0x40], r14
mov r13, qword [r15 + 0xd8]
cmp rdi, rbx
je 0x100032de5
mov rcx, rdi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov qword [rsp + 0x38], rbx
mov edx, dword [r12 + r13 + 0x54]
lea rcx, [r12 + r13 + 0x44]
lea r8, [rsp + 0x38]
xor r9d, r9d
call fcn.10009c5ec
cmp eax, ebx
mov esi, eax
jl 0x100033138
cmp dword [r12 + r13 + 0x14], 0xc
mov rdi, qword [rsp + 0x38]
jne 0x100032e5b
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x100032f90
test byte [rcx + 0x1c], 1
je 0x100032f90
cmp byte [rcx + 0x19], 4
jb 0x100032f90
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003d08]
mov edx, 0x1ea
mov r9, rdi
call fcn.10001da24
jmp 0x100032f90
movdqu xmm0, xmmword [r12 + r13 + 0x44]
mov rax, qword [rsp + 0x40]
inc dword [rsp + 0xb0]
mov rbp, rax
add rax, 0x78
xor r8d, r8d
mov qword [rsp + 0x40], rax
lea rdx, [rbp + 0x18]
movdqu xmmword [rbp], xmm0
movdqu xmm1, xmmword [r12 + r13 + 0x138]
movdqu xmmword [rbp + 0x50], xmm1
mov eax, dword [r12 + r13 + 0x54]
mov dword [rbp + 0x10], eax
mov eax, dword [r12 + r13 + 0x40]
mov dword [rbp + 0x40], eax
mov rcx, qword [r12 + r13 + 0x58]
call fcn.10009b4ec
cmp eax, ebx
mov esi, eax
jl 0x100032ff5
mov rcx, qword [r12 + r13 + 0x60]
lea rdx, [rbp + 0x20]
xor r8d, r8d
call fcn.10009b4ec
cmp eax, ebx
mov esi, eax
jl 0x100032ff5
mov byte [rbp + 0x28], bl
mov al, byte [r12 + r13 + 0x68]
lea rdx, [rbp + 0x14]
mov rcx, rdi
mov byte [rbp + 0x29], al
call fcn.100136d34
cmp eax, ebx
mov esi, eax
jl 0x100033106
lea rdx, [rbp + 0x30]
mov rcx, rdi
call fcn.100135c50
cmp eax, ebx
mov esi, eax
jl 0x1000330d4
lea r9, [rsp + 0x50]
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x48]
mov rcx, rdi
mov qword [rbp + 0x38], rbx
call qword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
cmp eax, ebx
jne 0x100032f37
mov rcx, rdi
call fcn.100134ad4
mov esi, eax
jmp 0x100032f42
mov rax, qword [rsp + 0x48]
mov esi, ebx
mov qword [rbp + 0x38], rax
cmp esi, ebx
jl 0x100033088
mov rdx, qword [r12 + r13 + 0x70]
movzx ecx, word [r12 + r13 + 0x6a]
lea r9, [rbp + 0x48]
lea r8, [rbp + 0x44]
call fcn.10009c6e8
cmp eax, ebx
mov esi, eax
jl 0x100032ff5
mov rax, qword [r12 + r13 + 0xe8]
mov qword [rbp + 0x60], rax
mov rax, qword [r12 + r13 + 0xf0]
mov qword [rbp + 0x68], rax
mov rax, qword [r12 + r13 + 0xf8]
mov qword [rbp + 0x70], rax
mov eax, dword [rsp + 0xc8]
add r12, 0x160
inc eax
mov dword [rsp + 0xc8], eax
cmp eax, dword [r15 + 0x170]
jb 0x100032dcb
mov r12d, dword [rsp + 0x30]
mov r13, qword [rsp + 0xb8]
cmp r12d, dword [rsp + 0xb0]
je 0x100032fe3
lea r8, [0x100005138]
lea rcx, [0x1000046e0]
mov edx, 0x2e08
call fcn.100099ad8
mov rax, qword [rsp + 0xc0]
mov qword [r13], r14
mov r14, rbx
mov dword [rax], r12d
mov rcx, qword [0x1001653b8]
cmp rdi, rbx
je 0x100033011
mov rcx, rdi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rcx, qword [0x1001653b8]
cmp r14, rbx
je 0x100033048
cmp dword [r15 + 0x170], ebx
jbe 0x100033038
mov ecx, ebx
imul rcx, rcx, 0x78
add rcx, r14
call fcn.10012c854
inc ebx
cmp ebx, dword [r15 + 0x170]
jb 0x10003301f
mov rcx, r14
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x100033075
test byte [rcx + 0x1c], 1
je 0x100033075
cmp byte [rcx + 0x19], 4
jb 0x100033075
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003d08]
mov edx, 0x1ee
call fcn.10001c7b8
mov eax, esi
add rsp, 0x68
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x100032ffc
test byte [rcx + 0x1c], 1
je 0x100032ffc
cmp byte [rcx + 0x19], 2
jb 0x100032ffc
mov edx, 0x1ed
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003d08]
mov r9, rdi
mov dword [rsp + 0x20], esi
call fcn.10001daa4
jmp 0x100032ff5
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x100032ffc
test byte [rcx + 0x1c], 1
je 0x100032ffc
cmp byte [rcx + 0x19], 2
jb 0x100032ffc
mov edx, 0x1ec
jmp 0x1000330b8
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x100032ffc
test byte [rcx + 0x1c], 1
je 0x100032ffc
cmp byte [rcx + 0x19], 2
jb 0x100032ffc
mov edx, 0x1eb
jmp 0x1000330b8
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x100033179
test byte [rcx + 0x1c], 1
je 0x100033179
cmp byte [rcx + 0x19], 2
jb 0x100033179
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003d08]
mov edx, 0x1e9
mov r9d, esi
call fcn.10001c7dc
mov rdi, qword [rsp + 0x38]
jmp 0x100032ff5
mov rdi, qword [rsp + 0x38]
jmp 0x100032ffc