Function at 0x18000533c
Capabilities:
Get disk size

Disassembly:
push rdi
push r14
push r15
mov eax, 0x152f0
call fcn.18000dcf0
sub rsp, rax
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov qword [rsp + 0x15318], rbx
mov qword [rsp + 0x15320], rsi
mov rax, qword [0x180029528]
xor rax, rsp
mov qword [rsp + 0x152e0], rax
mov rsi, rcx
mov qword [rsp + 0x30], rcx
xor edi, edi
mov ebx, edi
mov r15d, 0x3e8
lea r14d, [rdi + 1]
mov r9d, dword [0x18002bde8]
lea r8d, [r9 + 2]
lea eax, [r9 + 1]
imul r8d, eax
imul r8d, r9d
mov eax, 0x2e8ba2e9
imul r8d
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x16
sub r8d, edx
cmp r8d, 0xd
jne 0x1800053da
mov qword [rsp + 0x20], rdi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
lea rcx, [0x180021c90]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
jne 0x18000546a
xor edx, edx
mov ecx, r15d
call qword [sym.imp.KERNEL32.dll_SleepEx]
add ebx, r15d
cmp ebx, 0x2710
jae 0x18000543d
mov r9d, dword [0x18002bde8]
mov ecx, r9d
imul ecx, r9d
mov eax, 0x38e38e39
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*8]
add eax, eax
sub ecx, eax
cmp ecx, 0xe
jne 0x180005397
add dword [0x18002c0ac], r14d
jmp 0x180005397
lea rax, str.Waiting_failure
mov qword [rsp + 0x30], rax
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x50]
call fcn.180009f78
lea rdx, [0x180027720]
lea rcx, [rsp + 0x50]
call fcn.18000a6b8
int3
mov ecx, 0xc0
call fcn.1800095a8
mov qword [rsp + 0x40], rax
test rax, rax
je 0x18000548b
mov rcx, rax
call fcn.180005e64
mov rbx, rax
jmp 0x18000548e
mov rbx, rdi
mov rcx, qword [rsi + 0x40]
cmp rbx, rcx
je 0x1800054aa
test rcx, rcx
je 0x1800054a6
mov r8, qword [rcx]
mov edx, r14d
call qword [r8 + 8]
mov qword [rsi + 0x40], rbx
mov ecx, dword [0x18002bde8]
mov r8d, ecx
imul r8d, ecx
imul r8d, ecx
mov eax, 0x38e38e39
imul r8d
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*8]
add eax, eax
sub r8d, eax
cmp r8d, 0xb
jne 0x180005563
mov word [rsp + 0xe0], di
xor edx, edx
mov r8d, 0x151fe
lea rcx, [rsp + 0xe2]
call fcn.18000dd50
mov r10, rdi
or r9, 0xffffffffffffffff
mov r11d, 0xd0
mov r8, rdi
test r10, r10
je 0x18000553e
test r8, r8
je 0x18000553e
lea rcx, [r8 + r9]
lea rax, [r8 + r9]
movzx edx, word [rsp + rcx*2 - 0xbe]
add dx, word [rsp + rax*2 + 0xe0]
add dx, r14w
lea rax, [r8 + r9]
mov word [rsp + rax*2 + 0xe2], dx
add r8, r14
cmp r8, r11
jl 0x18000550c
add r10, r14
add r9, r11
cmp r9, 0xa8ff
jl 0x180005509
movsx eax, word [rsp + 0x152de]
mov dword [0x18002bde8], eax
mov ecx, 0x50
call fcn.1800095a8
mov r15, rax
mov qword [rsp + 0x40], rax
test rax, rax
je 0x1800055b9
lea rax, [0x180021cd0]
mov qword [r15], rax
lea rax, [0x180021be0]
mov qword [r15 + 8], rax
lea rcx, [r15 + 0x10]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
nop
lea rbx, [r15 + 0x38]
mov qword [rsp + 0x38], rbx
mov qword [rbx], rdi
mov qword [rbx + 8], rdi
xor r8d, r8d
xor edx, edx
call fcn.180008224
mov qword [rbx], rax
jmp 0x1800055bc
mov r15, rdi
mov rcx, qword [rsi + 0x48]
cmp r15, rcx
je 0x1800055d7
test rcx, rcx
je 0x1800055d3
mov rax, qword [rcx]
mov edx, r14d
call qword [rax + 0x18]
mov qword [rsi + 0x48], r15
mov rdx, qword [rsi + 0x48]
mov rcx, qword [rsi + 0x40]
call fcn.180006088
lea rdx, [rsi + 8]
mov rcx, qword [rsi + 0x40]
call fcn.180006088
mov r8d, dword [0x18002bde8]
lea ecx, [r8 + 2]
lea eax, [r8 + 1]
imul ecx, eax
imul ecx, r8d
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0xe
sub ecx, edx
cmp ecx, 3
jne 0x180005670
mov ecx, edi
mov r9d, 0xa16b312f
jmp 0x180005647
mov eax, r8d
or eax, 0xffffff76
add r8d, eax
add ecx, r14d
mov eax, r8d
imul eax, r8d
cmp ecx, eax
jg 0x18000566a
mov eax, r9d
imul r8d
add edx, r8d
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0xcb
mov eax, r8d
sub eax, edx
cmp eax, 0x6f
jne 0x18000562e
mov dword [0x18002bde8], ecx
mov r15, qword [rsi + 0x40]
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov rbx, rax
mov qword [rsp + 0x38], rax
test rax, rax
jne 0x1800056c1
lea rax, str.Failed_to_grab_export_0
mov qword [rsp + 0x30], rax
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x80]
call fcn.180009f78
lea rdx, [0x180027720]
lea rcx, [rsp + 0x80]
call fcn.18000a6b8
int3
lea rdx, str.NtQueryObject
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [r15 + 0x20], rax
test rax, rax
jne 0x180005707
lea rax, str.Failed_to_grab_export_1
mov qword [rsp + 0x30], rax
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x68]
call fcn.180009f78
lea rdx, [0x180027720]
lea rcx, [rsp + 0x68]
call fcn.18000a6b8
int3
mov rcx, r15
call fcn.1800060dc
mov byte [r15 + 0xb8], r14b
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop
lea rdx, [rsp + 0xb8]
call fcn.180004b50
lea rax, [rsi + 0x10]
mov qword [rsp + 0x38], rax
lea r15, [rax + 8]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
mov ecx, 0x48
call fcn.1800095a8
mov qword [rsp + 0x40], rax
test rax, rax
je 0x180005770
lea r8, [rsp + 0xb8]
mov rdx, rsi
mov rcx, rax
call fcn.1800030d8
mov rbx, rax
jmp 0x180005773
mov rbx, rdi
mov rcx, qword [rsi + 0x50]
cmp rbx, rcx
je 0x18000578e
test rcx, rcx
je 0x18000578a
mov rax, qword [rcx]
mov edx, r14d
call qword [rax + 0x10]
mov qword [rsi + 0x50], rbx
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rbx, qword [rsi + 0x50]
mov edx, r14d
lea rcx, [rsp + 0x98]
call fcn.180001b84
nop
mov rdx, rax
mov rcx, qword [rbx + 0x40]
call fcn.180002180
nop
lea rcx, [rsp + 0x98]
call fcn.180001bf0
mov rcx, qword [rbx + 0x40]
call fcn.1800023ec
nop
jmp 0x180005720