Function at 0x14008973c
Capabilities:
Inspect section memory permissions

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x318
mov r13, rcx
lea rdi, [0x140132120]
mov esi, edx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
xor r12d, r12d
mov eax, esi
and eax, 0x10000
lea rcx, [rsp + 0x78]
mov edx, 0x10d0d8
mov dword [rsp + 0x370], eax
mov eax, esi
mov ebp, r12d
and eax, 0x20000
mov dword [rsp + 0x368], r12d
mov r15d, r12d
mov dword [rsp + 0x378], eax
mov eax, esi
and esi, 0xc000ffff
and eax, 0x200000
mov dword [rsp + 0x80], eax
mov rax, qword [r13]
mov word [rax], r12w
call fcn.140061298
mov rax, qword [rsp + 0x78]
add rax, 0x100010
cmp esi, r12d
lea ecx, [r12 + 0x20]
lea rbx, [rax + 0xc000]
mov qword [rsp + 0xa0], rax
lea rax, [rbx + 0x800]
mov word [rbx], cx
mov word [rbx + 2], r12w
mov qword [rsp + 0x90], rbx
lea r14, [rbx + 0x1000]
mov word [rax], cx
mov word [rax + 2], r12w
mov qword [rsp + 0x98], rax
jl 0x140089814
mov r12d, esi
jmp 0x140089821
cmp r12d, 0x3e80
jge 0x140089d4e
lea rdx, str..PhysicalDrive_d
mov r8d, r12d
mov rcx, r14
call qword [sym.imp.USER32.dll_wsprintfW]
xor ecx, ecx
cmp dword [rsp + 0x370], ecx
je 0x14008985c
cmp esi, ecx
jl 0x14008985c
lea r8d, [rcx + 0x13]
lea rdx, [rbx + 2]
lea r9, [0x140113760]
mov rcx, r14
call fcn.140073440
xor ecx, ecx
mov qword [rsp + 0x70], rcx
cmp dword [rsp + 0x378], ecx
je 0x140089873
cmp esi, ecx
mov ebp, 1
jge 0x140089875
mov ebp, ecx
mov qword [rsp + 0x38], rcx
mov eax, ebp
mov dword [rsp + 0x30], 0x20000000
neg eax
mov eax, 3
mov rdx, r14
sbb r8d, r8d
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
and r8d, 0x40000000
lea rcx, [rsp + 0x70]
mov r9d, eax
add r8d, 0x80000000
call fcn.140003764
mov rbx, qword [rsp + 0x70]
test ebp, ebp
je 0x1400898d5
mov r8, qword [rsp + 0x98]
mov edx, r12d
mov rcx, rbx
add r8, 2
call fcn.14005d988
xor ebp, ebp
cmp esi, ebp
jge 0x140089946
cmp rbx, rbp
je 0x140089922
lea rdx, [0x140114828]
mov r8d, r12d
mov rcx, r14
mov r15d, ebp
call qword [sym.imp.USER32.dll_wsprintfW]
mov rdx, r14
mov rcx, r13
call fcn.14006164c
mov ebp, dword [rsp + 0x368]
inc ebp
mov dword [rsp + 0x368], ebp
cmp rbx, 0xffffffffffffffff
je 0x140089936
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x140089936
mov ebp, dword [rsp + 0x368]
inc r15d
cmp r15d, 0x20
jge 0x140089d4e
mov rbx, qword [rsp + 0x90]
inc r12d
jmp 0x140089814
cmp rbx, rbp
je 0x140089d47
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rsi, qword [rsp + 0x78]
xor edx, edx
mov rcx, rsi
mov r8d, 0xc0
call fcn.1400f78a0
lea r8, [rsp + 0x360]
mov rdx, rsi
mov rcx, rbx
mov dword [rsp + 0x360], ebp
call fcn.14005da90
lea rcx, [rsp + 0xe0]
mov r8d, 0x9e
cmp rax, rbp
cmovne rsi, rax
mov eax, dword [0x14011c590]
xor edx, edx
mov dword [rcx], eax
movzx eax, word [0x14011c594]
mov qword [rsp + 0x88], rsi
mov word [rcx + 4], ax
lea rcx, [rsp + 0xe6]
call fcn.1400f78a0
mov r14d, dword [rsi]
lea rcx, [0x14011c588]
cmp r14d, ebp
lea rax, [0x14011c580]
cmovne rax, rcx
cmp r14d, 1
lea rcx, [0x14011c578]
cmovne rcx, rax
mov qword [rsp + 0xb0], rcx
cmp r14d, ebp
jne 0x140089a14
mov r8d, dword [rsi + 8]
lea rdx, str._08lX
lea rcx, [rsp + 0xe0]
call qword [sym.imp.USER32.dll_wsprintfW]
jmp 0x140089a2e
cmp r14d, 1
jne 0x140089a2e
lea rdx, [rsi + 8]
lea rcx, [rsp + 0xe0]
xor r8d, r8d
call fcn.14005d7c4
xor edx, edx
lea rcx, [rsp + 0xbc]
mov dword [rsp + 0xb8], ebp
lea r8d, [rdx + 0x24]
call fcn.1400f78a0
lea rdx, [rsp + 0xb8]
mov rcx, rbx
call fcn.14005d708
mov edx, 0x200
mov rcx, rbx
mov qword [rsp + 0xa8], rax
call fcn.14005d4a8
cmp r14d, 1
sete cl
xor edx, edx
movsxd rbp, eax
mov byte [rsp + 0x368], cl
cmp cl, dl
je 0x140089ab5
mov r8d, dword [rsi + 0x28]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rdx
mov rdx, qword [rsp + 0xa0]
lea rcx, [rsp + 0x70]
mov r9d, ebp
call fcn.140067590
mov cl, byte [rsp + 0x368]
xor edx, edx
cmp dword [rsp + 0x360], edx
mov r15b, 0xff
mov r10, rdx
mov qword [rsp + 0x70], rdx
mov r11d, edx
jle 0x140089ae2
lea r9, [rsi + 0x38]
cmp cl, dl
jne 0x140089b22
cmp byte [r9 + 0x18], 0x42
jne 0x140089b74
mov r15b, r14b
mov rdx, rbx
xor ecx, ecx
call fcn.140063dbc
mov edx, 0xc8
mov rcx, r13
mov ebp, eax
call fcn.140061610
xor edx, edx
lea r8d, [rdx + 1]
mov r9d, 0x800
mov rcx, rbx
call fcn.140067748
mov cl, 0x3f
cmp eax, 0xc
jne 0x140089bc0
mov sil, 0x46
jmp 0x140089bce
movsxd rax, r11d
lea rdx, [0x140119b40]
mov r8d, 0x10
lea rcx, [rax + rax*8]
add rcx, rcx
lea rsi, [rsi + rcx*8 + 0x50]
mov rcx, rsi
call fcn.140058db8
xor edx, edx
cmp eax, edx
jne 0x140089b91
mov r10, rbp
add r10, qword [r9]
mov rax, qword [rsp + 0x70]
cmp r10, rdx
je 0x140089b65
cmp rax, rdx
jne 0x140089adf
mov cl, byte [rsp + 0x368]
mov rsi, qword [rsp + 0x88]
inc r11d
add r9, 0x90
cmp r11d, dword [rsp + 0x360]
jge 0x140089ae2
jmp 0x140089ad0
lea rdx, [0x140119b50]
mov r8d, 0x10
mov rcx, rsi
call fcn.140058db8
xor edx, edx
cmp eax, edx
jne 0x140089b52
mov rax, qword [r9]
mov rcx, rbp
cqo
idiv rbp
xor edx, edx
mov qword [rsp + 0x70], rax
jmp 0x140089b57
movzx esi, cl
cmp eax, 0xb
mov ecx, 0x52
cmove esi, ecx
xor r14d, r14d
mov word [rsp + 0x190], r14w
cmp dword [rsp + 0x80], r14d
je 0x140089c3a
or qword [rsp + 0x360], 0xffffffffffffffff
lea r8, [rsp + 0x360]
lea rdx, [rsp + 0x368]
mov rcx, rbx
mov dword [rsp + 0x368], r14d
call fcn.140074a0c
mov r9d, dword [rsp + 0x368]
lea rdx, str.__I64d__u__I64d
mov r8, rax
mov rax, qword [rsp + 0x360]
lea rcx, [rsp + 0x190]
mov qword [rsp + 0x20], rax
call qword [sym.imp.USER32.dll_wsprintfW]
mov rdx, qword [rsp + 0xa8]
lea rcx, [rsp + 0x290]
call fcn.1400dcf88
mov rdx, qword [rsp + 0xb8]
lea rcx, [rsp + 0x210]
call fcn.1400dcf88
lea rcx, [rsp + 0x190]
movsx eax, sil
mov qword [rsp + 0x68], rcx
mov rcx, qword [r13]
mov dword [rsp + 0x60], eax
mov rax, qword [rsp + 0xb0]
lea r9, [rsp + 0x290]
lea rdx, str._2d__14s__14s__6lu__4lu__4lu__4lu__s__2d__s__c_s
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x50], ebp
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x48], rax
mov eax, dword [rsp + 0xc0]
mov r8d, r12d
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0xcc]
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0xc8]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0xc4]
mov dword [rsp + 0x28], eax
lea rax, [rsp + 0x210]
mov qword [rsp + 0x20], rax
call qword [sym.imp.USER32.dll_wsprintfW]
mov ebp, eax
cmp dword [rsp + 0x370], r14d
je 0x140089d08
mov rdx, qword [rsp + 0x90]
mov rcx, r13
call fcn.14006164c
cmp dword [rsp + 0x378], r14d
je 0x140089d22
mov rdx, qword [rsp + 0x98]
mov rcx, r13
call fcn.14006164c
cmp r15b, r14b
jl 0x140089d36
lea rdx, [0x14011c4cc]
mov rcx, r13
call fcn.14006164c
cmp rbx, 0xffffffffffffffff
je 0x140089d51
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x140089d51
mov ebp, dword [rsp + 0x368]
xor r14d, r14d
mov rcx, qword [r13]
call fcn.140018458
lea rcx, [rsp + 0x78]
call fcn.140058d88
cmp rdi, r14
je 0x140089d72
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, ebp
add rsp, 0x318
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret