Function at 0x100032d78
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 0x100032dcf
test byte [rcx + 0x1c], 1
je 0x100032dcf
cmp byte [rcx + 0x19], 4
jb 0x100032dcf
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003cc8]
mov edx, 0x1e8
call fcn.10001c854
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 0x100032e0a
lea r8, [0x1000050b8]
lea rcx, [0x100004680]
mov edx, 0x2d99
call fcn.10009a050
cmp r13, rbx
jne 0x100032e27
lea r8, [0x1000050c8]
lea rcx, [0x100004680]
mov edx, 0x2d9a
call fcn.10009a050
mov qword [r13], rbx
mov dword [rbp], ebx
mov ecx, dword [r15 + 0x170]
cmp ecx, ebx
jbe 0x100032e60
mov rax, qword [r15 + 0xd8]
mov rdx, rcx
add rax, 0x14
cmp dword [rax], 0xc
je 0x100032e4f
inc r12d
add rax, 0x160
sub rdx, 1
jne 0x100032e47
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 0x100032e82
mov esi, 0x8007000e
jmp 0x100033121
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 0x1000330a1
mov r12, rbx
mov qword [rsp + 0x40], r14
mov r13, qword [r15 + 0xd8]
cmp rdi, rbx
je 0x100032ec5
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.10009cbc4
cmp eax, ebx
mov esi, eax
jl 0x100033218
cmp dword [r12 + r13 + 0x14], 0xc
mov rdi, qword [rsp + 0x38]
jne 0x100032f3b
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x100033070
test byte [rcx + 0x1c], 1
je 0x100033070
cmp byte [rcx + 0x19], 4
jb 0x100033070
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003cc8]
mov edx, 0x1ea
mov r9, rdi
call fcn.10001db08
jmp 0x100033070
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.10009bac4
cmp eax, ebx
mov esi, eax
jl 0x1000330d5
mov rcx, qword [r12 + r13 + 0x60]
lea rdx, [rbp + 0x20]
xor r8d, r8d
call fcn.10009bac4
cmp eax, ebx
mov esi, eax
jl 0x1000330d5
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.100136d80
cmp eax, ebx
mov esi, eax
jl 0x1000331e6
lea rdx, [rbp + 0x30]
mov rcx, rdi
call fcn.100135c9c
cmp eax, ebx
mov esi, eax
jl 0x1000331b4
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 0x100033017
mov rcx, rdi
call fcn.100134b20
mov esi, eax
jmp 0x100033022
mov rax, qword [rsp + 0x48]
mov esi, ebx
mov qword [rbp + 0x38], rax
cmp esi, ebx
jl 0x100033168
mov rdx, qword [r12 + r13 + 0x70]
movzx ecx, word [r12 + r13 + 0x6a]
lea r9, [rbp + 0x48]
lea r8, [rbp + 0x44]
call fcn.10009ccc0
cmp eax, ebx
mov esi, eax
jl 0x1000330d5
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 0x100032eab
mov r12d, dword [rsp + 0x30]
mov r13, qword [rsp + 0xb8]
cmp r12d, dword [rsp + 0xb0]
je 0x1000330c3
lea r8, [0x1000050d8]
lea rcx, [0x100004680]
mov edx, 0x2e08
call fcn.10009a050
mov rax, qword [rsp + 0xc0]
mov qword [r13], r14
mov r14, rbx
mov dword [rax], r12d
mov rcx, qword [0x1001653b8]
cmp rdi, rbx
je 0x1000330f1
mov rcx, rdi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rcx, qword [0x1001653b8]
cmp r14, rbx
je 0x100033128
cmp dword [r15 + 0x170], ebx
jbe 0x100033118
mov ecx, ebx
imul rcx, rcx, 0x78
add rcx, r14
call fcn.10012c8f8
inc ebx
cmp ebx, dword [r15 + 0x170]
jb 0x1000330ff
mov rcx, r14
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x100033155
test byte [rcx + 0x1c], 1
je 0x100033155
cmp byte [rcx + 0x19], 4
jb 0x100033155
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003cc8]
mov edx, 0x1ee
call fcn.10001c854
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 0x1000330dc
test byte [rcx + 0x1c], 1
je 0x1000330dc
cmp byte [rcx + 0x19], 2
jb 0x1000330dc
mov edx, 0x1ed
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003cc8]
mov r9, rdi
mov dword [rsp + 0x20], esi
call fcn.10001ddb0
jmp 0x1000330d5
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x1000330dc
test byte [rcx + 0x1c], 1
je 0x1000330dc
cmp byte [rcx + 0x19], 2
jb 0x1000330dc
mov edx, 0x1ec
jmp 0x100033198
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x1000330dc
test byte [rcx + 0x1c], 1
je 0x1000330dc
cmp byte [rcx + 0x19], 2
jb 0x1000330dc
mov edx, 0x1eb
jmp 0x100033198
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x100033259
test byte [rcx + 0x1c], 1
je 0x100033259
cmp byte [rcx + 0x19], 2
jb 0x100033259
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003cc8]
mov edx, 0x1e9
mov r9d, esi
call fcn.10001c878
mov rdi, qword [rsp + 0x38]
jmp 0x1000330d5
mov rdi, qword [rsp + 0x38]
jmp 0x1000330dc