Function at 0x14008ae50
Capabilities:
Inspect section memory permissions

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x338
mov rbp, rcx
lea rdi, [0x14013e190]
mov r12d, edx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, r12d
mov r13d, r12d
shr eax, 0x10
mov esi, r12d
xor r15d, r15d
and eax, 1
shr r13d, 0x13
shr esi, 0x11
mov dword [rsp + 0x380], eax
mov eax, r12d
lea rcx, [rsp + 0xa0]
shr eax, 0x12
and r13d, 1
and esi, 1
and eax, 1
mov edx, 0x1100d8
mov dword [rsp + 0x388], r15d
mov dword [rsp + 0x78], eax
mov eax, r12d
mov dword [rsp + 0x390], r13d
and eax, 0x200000
mov dword [rsp + 0x398], esi
mov dword [rsp + 0x98], eax
mov eax, r12d
and r12d, 0xc000ffff
and eax, 0x100000
mov dword [rsp + 0x88], eax
mov rax, qword [rbp]
mov word [rax], r15w
call fcn.140063028
mov r14, qword [rsp + 0xa0]
xor r9d, r9d
lea rax, [r14 + 0x100010]
lea r10d, [r15 + 0x20]
lea rbx, [rax + 0xc000]
mov qword [rsp + 0x90], rax
mov eax, dword [rsp + 0x380]
shl eax, 0xa
mov word [rbx], r9w
lea rcx, [rbx + 0xc8]
cdqe
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0xc0], rcx
lea rdx, [rcx + rax*2]
mov eax, r13d
shl eax, 0xa
mov qword [rsp + 0xa8], rdx
cdqe
lea r8, [rdx + rax*2]
mov eax, esi
shl eax, 0xa
cmp r12d, r9d
mov qword [rsp + 0xb8], r8
cdqe
lea rax, [r8 + rax*2]
mov qword [rsp + 0xb0], rax
mov word [rax], r10w
mov word [r8], r10w
mov word [rdx], r10w
mov word [rcx], r10w
mov word [rax + 2], r9w
mov word [r8 + 2], r9w
mov word [rdx + 2], r9w
mov word [rcx + 2], r9w
jl 0x14008afae
mov esi, r12d
jmp 0x14008afbd
mov esi, r9d
cmp esi, 0x3e80
jge 0x14008b502
lea rdx, str..PhysicalDrive_d
mov r8d, esi
mov rcx, rbx
call qword [sym.imp.USER32.dll_wsprintfW]
xor ecx, ecx
cmp dword [rsp + 0x380], ecx
je 0x14008affe
cmp r12d, ecx
jl 0x14008affe
lea rdx, [rbx + 0xca]
lea r9, [0x14011e850]
movsxd rcx, esi
mov r8d, 0x13
call fcn.1400761b4
xor ecx, ecx
cmp r13d, ecx
je 0x14008b02b
cmp r12d, ecx
jl 0x14008b02b
mov rdx, qword [rsp + 0xa8]
lea r9, [0x14011e850]
movsxd rcx, esi
add rdx, 2
mov r8d, 0x14
call fcn.1400761b4
xor ecx, ecx
mov qword [rsp + 0x80], rcx
cmp dword [rsp + 0x398], ecx
je 0x14008b047
cmp r12d, ecx
mov r13d, 1
jge 0x14008b04a
mov r13d, ecx
mov qword [rsp + 0x38], rcx
mov eax, r13d
mov dword [rsp + 0x30], 0x20000000
neg eax
mov eax, 3
mov rdx, rbx
sbb r8d, r8d
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
and r8d, 0x40000000
lea rcx, [rsp + 0x80]
mov r9d, eax
add r8d, 0x80000000
call fcn.140003888
mov rbx, qword [rsp + 0x80]
xor r9d, r9d
cmp r13d, r9d
je 0x14008b0b7
mov r8, qword [rsp + 0xb8]
mov edx, esi
mov rcx, rbx
add r8, 2
call fcn.140077058
xor r9d, r9d
cmp dword [rsp + 0x78], r9d
je 0x14008b0e2
cmp r12d, r9d
jl 0x14008b0e7
mov r8, qword [rsp + 0xb0]
mov r9d, 1
mov edx, esi
add r8, 2
mov rcx, rbx
call fcn.140077058
xor r9d, r9d
cmp r12d, r9d
jge 0x14008b157
cmp rbx, r9
je 0x14008b136
mov r13, qword [rsp + 0x70]
lea rdx, [0x14011f8f8]
mov r8d, esi
mov rcx, r13
mov r15d, r9d
call qword [sym.imp.USER32.dll_wsprintfW]
mov rdx, r13
mov rcx, rbp
call fcn.1400633dc
mov r13d, dword [rsp + 0x388]
inc r13d
mov dword [rsp + 0x388], r13d
cmp rbx, 0xffffffffffffffff
je 0x14008b143
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x14008b143
inc r15d
cmp r15d, 0x20
jge 0x14008b502
mov rbx, qword [rsp + 0x70]
mov r13d, dword [rsp + 0x390]
inc esi
jmp 0x14008afb1
cmp rbx, r9
je 0x14008b502
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor edx, edx
mov r8d, 0xc0
mov rcx, r14
call fcn.140101f00
lea r8, [rsp + 0x388]
xor r15d, r15d
mov rdx, r14
mov rcx, rbx
mov dword [rsp + 0x388], r15d
call fcn.14005fb14
lea rcx, [rsp + 0x100]
mov r8d, 0x9e
cmp rax, r15
cmovne r14, rax
mov eax, dword [0x140127780]
xor edx, edx
mov dword [rcx], eax
movzx eax, word [0x140127784]
mov word [rcx + 4], ax
lea rcx, [rsp + 0x106]
call fcn.140101f00
mov r12d, dword [r14]
lea rcx, [0x140127778]
cmp r12d, r15d
lea rax, [0x140127770]
cmovne rax, rcx
cmp r12d, 1
lea rcx, [0x140127768]
cmovne rcx, rax
mov qword [rsp + 0xc8], rcx
cmp r12d, r15d
jne 0x14008b21c
mov r8d, dword [r14 + 8]
lea rdx, str._08lX
lea rcx, [rsp + 0x100]
call qword [sym.imp.USER32.dll_wsprintfW]
jmp 0x14008b236
cmp r12d, 1
jne 0x14008b236
lea rdx, [r14 + 8]
lea rcx, [rsp + 0x100]
xor r8d, r8d
call fcn.14005f8f8
xor edx, edx
lea rcx, [rsp + 0xdc]
mov dword [rsp + 0xd8], r15d
lea r8d, [rdx + 0x24]
call fcn.140101f00
lea rdx, [rsp + 0xd8]
mov rcx, rbx
call fcn.14005f83c
mov edx, 0x200
mov rcx, rbx
mov qword [rsp + 0xd0], rax
call fcn.14005f5d4
cmp r12d, 1
sete r15b
mov r13d, eax
xor eax, eax
cmp r15b, al
je 0x14008b2b5
mov r8d, dword [r14 + 0x28]
mov rdx, qword [rsp + 0x90]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rax
lea rcx, [rsp + 0x80]
mov r9d, r13d
mov qword [rsp + 0x20], rax
call fcn.140069514
xor eax, eax
mov r8d, dword [rsp + 0x388]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x90], rax
lea rax, [rsp + 0x80]
lea rcx, [r14 + 0x30]
lea r9, [rsp + 0x70]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x90]
mov dword [rsp + 0x30], r12d
mov dl, r15b
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], rax
call fcn.140069884
mov rdx, rbx
xor ecx, ecx
mov r14d, eax
call fcn.140065bcc
mov edx, 0xc8
mov rcx, rbp
mov r13d, eax
call fcn.1400633a0
xor edx, edx
mov r9d, 0x800
lea r8d, [rdx + 1]
mov rcx, rbx
call fcn.1400696cc
mov cl, 0x3f
cmp eax, 0xc
jne 0x14008b33c
mov r12b, 0x46
jmp 0x14008b34c
movzx r12d, cl
cmp eax, 0xb
mov ecx, 0x52
cmove r12d, ecx
xor r15d, r15d
mov word [rsp + 0x1b0], r15w
cmp dword [rsp + 0x98], r15d
je 0x14008b3af
or qword [rsp + 0x70], 0xffffffffffffffff
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x388]
mov rcx, rbx
mov dword [rsp + 0x388], r15d
call fcn.140078174
mov r9d, dword [rsp + 0x388]
lea rdx, str.__I64d__u__I64d
mov r8, rax
mov rax, qword [rsp + 0x70]
lea rcx, [rsp + 0x1b0]
mov qword [rsp + 0x20], rax
call qword [sym.imp.USER32.dll_wsprintfW]
mov rdx, qword [rsp + 0xd0]
lea rcx, [rsp + 0x2b0]
call fcn.1400e62a0
mov rdx, qword [rsp + 0xd8]
lea rcx, [rsp + 0x230]
call fcn.1400e62a0
cmp dword [rsp + 0x88], r15d
lea rcx, str.__2d__14s__14s__6lu__4lu__4lu__4lu__s__2d__s__c_s
movsx eax, r12b
lea rdx, str._2d__14s__14s__6lu__4lu__4lu__4lu__s__2d__s__c_s
lea r9, [rsp + 0x2b0]
cmovne rdx, rcx
lea rcx, [rsp + 0x1b0]
mov r8d, esi
mov qword [rsp + 0x68], rcx
mov rcx, qword [rbp]
mov dword [rsp + 0x60], eax
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x50], r13d
lea rax, [rsp + 0x100]
mov qword [rsp + 0x48], rax
mov eax, dword [rsp + 0xe0]
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0xec]
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0xe8]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0xe4]
mov dword [rsp + 0x28], eax
lea rax, [rsp + 0x230]
mov qword [rsp + 0x20], rax
call qword [sym.imp.USER32.dll_wsprintfW]
mov r13d, eax
cmp dword [rsp + 0x380], r15d
je 0x14008b492
mov rdx, qword [rsp + 0xc0]
mov rcx, rbp
call fcn.1400633dc
cmp dword [rsp + 0x390], r15d
je 0x14008b4ac
mov rdx, qword [rsp + 0xa8]
mov rcx, rbp
call fcn.1400633dc
cmp dword [rsp + 0x398], r15d
je 0x14008b4c6
mov rdx, qword [rsp + 0xb8]
mov rcx, rbp
call fcn.1400633dc
cmp dword [rsp + 0x78], r15d
je 0x14008b4dd
mov rdx, qword [rsp + 0xb0]
mov rcx, rbp
call fcn.1400633dc
cmp r14b, r15b
jl 0x14008b4f1
lea rdx, [0x140127654]
mov rcx, rbp
call fcn.1400633dc
cmp rbx, 0xffffffffffffffff
je 0x14008b50d
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x14008b50d
mov r13d, dword [rsp + 0x388]
xor r15d, r15d
mov rcx, qword [rbp]
call fcn.140018bbc
lea rcx, [rsp + 0xa0]
call fcn.14005aef8
cmp rdi, r15
je 0x14008b531
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, r13d
add rsp, 0x338
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret