Function at 0x100124ce4
Capabilities:
Get disk size

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x80
mov r13d, r9d
mov rbp, r8
mov rsi, rdx
mov rdi, rcx
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x100124d3b
test byte [rcx + 0x1c], 1
je 0x100124d3b
cmp byte [rcx + 0x19], 4
jb 0x100124d3b
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002f00]
mov edx, 0x61
call fcn.10001c854
or qword [rsp + 0x50], 0xffffffffffffffff
xor ebx, ebx
mov r12b, 1
mov r15, rbx
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x58], rbx
mov r14, rbx
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0x68], rbx
mov dword [rsp + 0x40], ebx
mov byte [rsp + 0xc0], r12b
mov dword [rsp + 0xd0], ebx
cmp rdi, rbx
jne 0x100124d9a
lea r8, [0x100013b70]
lea rcx, [0x100013830]
mov edx, 0xd3d
call fcn.10009a050
cmp rbp, rbx
jne 0x100124db7
lea r8, [0x100013b80]
lea rcx, [0x100013830]
mov edx, 0xd3e
call fcn.10009a050
mov rbx, qword [rsp + 0xe0]
test rbx, rbx
jne 0x100124ddc
lea r8, [0x100004800]
lea rcx, [0x100013830]
mov edx, 0xd3f
call fcn.10009a050
mov rax, qword [rsp + 0xe8]
test rax, rax
jne 0x100124e09
lea r8, [0x100013b90]
lea rcx, [0x100013830]
mov edx, 0xd40
call fcn.10009a050
mov rax, qword [rsp + 0xe8]
and qword [rax], r14
lea r8, [rsp + 0xd0]
mov rdx, rbx
mov rcx, rdi
call fcn.1001241e4
mov ebx, eax
test eax, eax
js 0x1001251c5
cmp dword [rsp + 0xd0], 4
jne 0x100124e6a
xor r12b, r12b
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x100124e6a
test byte [rcx + 0x1c], 1
je 0x100124e6a
cmp byte [rcx + 0x19], 5
jb 0x100124e6a
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002f00]
mov edx, 0x62
call fcn.10001c854
lea rdx, [rsp + 0x60]
mov rcx, rdi
call fcn.10009b954
mov r15, qword [rsp + 0x60]
mov ebx, eax
test eax, eax
js 0x1001251c5
test r12b, r12b
je 0x100125023
lea r9, [rsp + 0x68]
lea rdx, [rsp + 0x70]
xor r8d, r8d
mov rcx, r15
mov byte [rsp + 0x20], 1
call fcn.100129aac
mov ebx, eax
test eax, eax
js 0x1001251c5
mov rax, qword [rsp + 0x68]
cmp rsi, 0xffffffffffffffff
je 0x100124f07
cmp rax, 0xffffffffffffffff
je 0x100124f07
mov rcx, qword [0x1001653b8]
lea rdi, [0x1001653b8]
cmp rcx, rdi
je 0x100124f02
test byte [rcx + 0x1c], 1
je 0x100124f02
cmp byte [rcx + 0x19], 4
jb 0x100124f02
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002f00]
mov edx, 0x63
mov r9, rax
call fcn.10001d71c
mov rcx, qword [0x1001653b8]
xor r12b, r12b
jmp 0x100124f56
mov rcx, qword [0x1001653b8]
lea rdx, [0x1001653b8]
cmp rcx, rdx
je 0x100124f4f
test byte [rcx + 0x1c], 1
je 0x100124f4f
cmp byte [rcx + 0x19], 4
jb 0x100124f4f
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x28], rax
lea r8, [0x100002f00]
mov edx, 0x64
mov r9, rdi
mov qword [rsp + 0x20], rsi
call fcn.10001e784
mov rcx, qword [0x1001653b8]
lea rdi, [0x1001653b8]
mov r14, qword [rsp + 0x70]
test r14, r14
jne 0x100124f92
cmp rcx, rdi
je 0x100124f8f
test byte [rcx + 0x1c], 1
je 0x100124f8f
cmp byte [rcx + 0x19], 5
jb 0x100124f8f
mov rcx, qword [rcx + 0x10]
lea edx, [r14 + 0x65]
lea r8, [0x100002f00]
xor r9d, r9d
call fcn.10001d71c
mov rcx, qword [0x1001653b8]
xor r12b, r12b
test r12b, r12b
je 0x10012502a
mov rcx, qword [rsp + 0xe0]
xor edx, edx
call fcn.10010b1d8
mov ebx, eax
test eax, eax
js 0x1001251c5
lea rdx, [rsp + 0x48]
mov rcx, r15
call fcn.10012a604
mov ebx, eax
test eax, eax
js 0x1001251c5
mov rcx, qword [rsp + 0xe0]
call fcn.10010b368
mov r11, qword [rsp + 0x48]
cmp r14, r11
ja 0x100125023
mov rcx, qword [0x1001653b8]
cmp rcx, rdi
je 0x10012501e
test byte [rcx + 0x1c], 1
je 0x10012501e
cmp byte [rcx + 0x19], 5
jb 0x10012501e
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002f00]
mov edx, 0x66
mov r9, r14
mov qword [rsp + 0x20], r11
call fcn.1000c2d48
mov rcx, qword [0x1001653b8]
xor r12b, r12b
jmp 0x10012502a
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x10012505e
test byte [rcx + 0x1c], 1
je 0x10012505e
cmp byte [rcx + 0x19], 5
jb 0x10012505e
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002f00]
mov edx, 0x67
call fcn.10001c854
mov rcx, qword [0x1001653b8]
xor edi, edi
test r13d, r13d
je 0x1001250e2
lea rbx, [rbp + 0xe0]
mov rcx, qword [rbx]
test rcx, rcx
je 0x1001250cd
and qword [rsp + 0x30], 0
xor r9d, r9d
mov edx, 0x40000000
lea r8d, [r9 + 7]
mov dword [rsp + 0x28], 0x2000000
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [rsp + 0x50], rax
cmp rax, 0xffffffffffffffff
je 0x1001251b1
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_FlushFileBuffers]
test eax, eax
je 0x10012515e
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
or qword [rsp + 0x50], 0xffffffffffffffff
inc edi
add rbx, 0x160
cmp edi, r13d
jb 0x10012506c
mov rcx, qword [0x1001653b8]
lea rdi, [0x1001653b8]
cmp rcx, rdi
je 0x10012510f
test byte [rcx + 0x1c], 1
je 0x10012510f
cmp byte [rcx + 0x19], 5
jb 0x10012510f
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002f00]
mov edx, 0x69
call fcn.10001c854
mov rcx, qword [rsp + 0xe0]
xor edx, edx
call fcn.10010b1d8
mov ebx, eax
test eax, eax
js 0x1001251cc
lea r9, [rsp + 0x68]
lea r8, [rsp + 0xd0]
lea rdx, [rsp + 0x70]
mov rcx, r15
xor edi, edi
xor ebp, ebp
call qword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
test eax, eax
jne 0x100125245
mov rcx, r15
call fcn.100134b20
mov ebx, eax
jmp 0x100125254
call qword [sym.imp.ntdll.dll_RtlGetLastNtStatus]
mov rcx, qword [0x1001653b8]
lea rdi, [0x1001653b8]
cmp rcx, rdi
je 0x10012519b
test byte [rcx + 0x1c], 1
je 0x10012519b
cmp byte [rcx + 0x19], 2
jb 0x10012519b
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002f00]
mov edx, 0x68
mov r9d, eax
call fcn.10001c878
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
jmp 0x1001251cc
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
lea rdi, [0x1001653b8]
mov rcx, qword [rsp + 0xe0]
call fcn.10010b368
mov rax, qword [rsp + 0x50]
cmp rax, 0xffffffffffffffff
je 0x1001251ed
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test r15, r15
je 0x1001251fb
mov rcx, r15
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rcx, qword [0x1001653b8]
cmp rcx, rdi
je 0x100125228
test byte [rcx + 0x1c], 1
je 0x100125228
cmp byte [rcx + 0x19], 4
jb 0x100125228
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002f00]
mov edx, 0x70
call fcn.10001c854
mov eax, ebx
mov rbx, qword [rsp + 0xc8]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rdi, qword [rsp + 0xd0]
mov rbp, qword [rsp + 0x70]
xor ebx, ebx
test ebx, ebx
js 0x1001251c5
mov rcx, qword [rsp + 0xe0]
call fcn.10010b368
lea r9, [rsp + 0x40]
lea rdx, [0x100013ba8]
lea rcx, [0x100013b48]
xor r8d, r8d
call fcn.1000a469c
mov ebx, eax
test eax, eax
js 0x1001251c5
mov eax, dword [rsp + 0x40]
shl rax, 0x14
test rax, rax
je 0x1001252a0
cmp rax, rdi
jbe 0x1001252aa
mov eax, 0x1f400000
mov qword [rsp + 0x58], rax
call fcn.100124c10
mov r9, qword [rsp + 0x58]
lea rcx, [rax + r9]
mov rsi, rax
cmp rbp, rcx
jbe 0x100125318
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x10012530d
test byte [rcx + 0x1c], 1
je 0x10012530d
cmp byte [rcx + 0x19], 4
jb 0x10012530d
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], r9
lea r8, [0x100002f00]
mov edx, 0x6a
mov r9, rbp
call fcn.1000d4204
mov rcx, qword [0x1001653b8]
mov r9, qword [rsp + 0x58]
xor al, al
mov byte [rsp + 0xc0], al
jmp 0x100125326
mov rcx, qword [0x1001653b8]
mov al, byte [rsp + 0xc0]
test r12b, r12b
je 0x100125421
xor r13d, r13d
test al, al
je 0x10012533f
mov r13, rsi
sub r13, rbp
add r13, r9
mov r8, qword [rsp + 0x48]
mov rax, r14
sub rax, r8
cmp r8, r14
sbb rdi, rdi
and rdi, rax
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x1001253e3
test byte [rcx + 0x1c], 1
je 0x1001253a9
cmp byte [rcx + 0x19], 5
jb 0x1001253a9
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x30], rbp
lea r8, [0x100002f00]
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], r9
mov edx, 0x6b
mov r9, r13
call fcn.100120914
mov r8, qword [rsp + 0x48]
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x1001253e3
test byte [rcx + 0x1c], 1
je 0x1001253e3
cmp byte [rcx + 0x19], 5
jb 0x1001253e3
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x28], r8
lea r8, [0x100002f00]
mov edx, 0x6c
mov r9, rdi
mov qword [rsp + 0x20], r14
call fcn.1000d4204
mov rcx, qword [0x1001653b8]
cmp r13, rdi
jbe 0x100125426
xor r12b, r12b
lea rdi, [0x1001653b8]
cmp rcx, rdi
je 0x10012542d
test byte [rcx + 0x1c], 1
je 0x10012542d
cmp byte [rcx + 0x19], 4
jb 0x10012542d
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002f00]
mov edx, 0x6d
call fcn.10001c854
mov rcx, qword [0x1001653b8]
jmp 0x10012542d
mov r13, qword [rsp + 0x78]
lea rdi, [0x1001653b8]
mov al, byte [rsp + 0xc0]
test al, al
je 0x10012547f
test r12b, r12b
jne 0x100125484
mov ebx, 0x8078015e
cmp rcx, rdi
je 0x1001251cc
test byte [rcx + 0x1c], 1
je 0x1001251cc
cmp byte [rcx + 0x19], 2
jb 0x1001251cc
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002f00]
mov edx, 0x6e
mov r9d, 0x8078015e
call fcn.10001c878
jmp 0x1001251cc
test r12b, r12b
je 0x10012548d
test al, al
je 0x10012548d
mov rax, r13
jmp 0x10012548f
xor eax, eax
mov rdx, qword [rsp + 0xe8]
mov qword [rdx], rax
cmp rcx, rdi
je 0x1001251cc
test byte [rcx + 0x1c], 1
je 0x1001251cc
cmp byte [rcx + 0x19], 4
jb 0x1001251cc
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002f00]
mov edx, 0x6f
mov r9, r13
call fcn.10001d71c
jmp 0x1001251cc