Function at 0x46285b
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x298
push ebx
push esi
push edi
mov eax, 0x4dbd30
push eax
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 0xc]
and eax, 0x20000
mov dword [ebp - 0x38], eax
mov eax, dword [ebp + 0xc]
and word [ebp + 0xe], 0xc000
and eax, 0x200000
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
xor eax, eax
mov word [ecx], ax
and edi, 0x10000
push 0x10d0d8
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xc], eax
call fcn.004448b9
mov ebx, dword [ebp - 0x2c]
mov ecx, dword [ebp + 0xc]
add ebx, 0x100010
mov dword [ebp - 0x20], ebx
add ebx, 0xc000
xor eax, eax
cmp ecx, eax
lea esi, [ebx + 0x800]
mov word [ebx], 0x20
mov word [ebx + 2], ax
mov dword [ebp - 0x44], esi
mov word [esi], 0x20
mov word [esi + 2], ax
jl 0x4628f3
mov dword [ebp - 0x10], ecx
jmp 0x462903
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0x3e80
jge 0x462cf3
push dword [ebp - 0x10]
lea eax, [ebx + 0x1000]
push str..PhysicalDrive_d
push eax
call dword [sym.imp.user32.dll_wsprintfW]
xor eax, eax
add esp, 0xc
cmp edi, eax
je 0x462942
cmp dword [ebp + 0xc], eax
jl 0x462942
push 0x4c0fb0
push 0x13
lea eax, [ebx + 2]
push eax
lea eax, [ebx + 0x1000]
push eax
call fcn.004529aa
add esp, 0x10
xor eax, eax
cmp dword [ebp - 0x38], eax
mov dword [ebp - 4], eax
je 0x462956
cmp dword [ebp + 0xc], eax
mov dword [ebp - 0x18], 1
jge 0x462959
mov dword [ebp - 0x18], eax
push eax
push 0x20000000
push 3
push eax
mov eax, dword [ebp - 0x18]
neg eax
sbb eax, eax
and eax, 0x40000000
push 3
add eax, 0x80000000
push eax
lea eax, [ebx + 0x1000]
push eax
lea ecx, [ebp - 4]
call fcn.00405a2a
xor eax, eax
cmp dword [ebp - 0x18], eax
je 0x4629a0
lea eax, [esi + 2]
push eax
push dword [ebp - 0x10]
push dword [ebp - 4]
call fcn.00442037
add esp, 0xc
xor eax, eax
cmp dword [ebp + 0xc], eax
jge 0x4629f6
cmp dword [ebp - 4], eax
je 0x4629d9
push dword [ebp - 0x10]
mov dword [ebp - 0xc], eax
lea eax, [ebx + 0x1000]
push 0x4c2978
push eax
call dword [sym.imp.user32.dll_wsprintfW]
mov ecx, dword [ebp + 8]
add esp, 0xc
lea eax, [ebx + 0x1000]
push eax
call fcn.00444a7c
inc dword [ebp - 0x14]
jmp 0x4629e6
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x20
jge 0x462ceb
lea ecx, [ebp - 4]
call fcn.00402cb5
inc dword [ebp - 0x10]
jmp 0x4628f6
cmp dword [ebp - 4], eax
je 0x462ceb
push eax
call dword [sym.imp.KERNEL32.DLL_SetLastError]
mov esi, dword [ebp - 0x2c]
push 0xc0
push 0
push esi
mov dword [ebp - 0xc], esi
call fcn.004acf60
and dword [ebp - 0x14], 0
lea eax, [ebp - 0x14]
push eax
push esi
push dword [ebp - 4]
call fcn.004420fa
add esp, 0x18
test eax, eax
je 0x462a34
mov dword [ebp - 0xc], eax
mov esi, 0x4c92c0
lea edi, [ebp - 0x120]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
push 0x27
xor eax, eax
pop ecx
lea edi, [ebp - 0x11a]
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0xc]
stosw word es:[edi], ax
mov eax, dword [ecx]
test eax, eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x28], 0x4c92b8
jne 0x462a6b
mov dword [ebp - 0x28], 0x4c92b0
cmp eax, 1
jne 0x462a77
mov dword [ebp - 0x28], 0x4c92a8
test eax, eax
jne 0x462a92
push dword [ecx + 8]
lea eax, [ebp - 0x120]
push str._08lX
push eax
call dword [sym.imp.user32.dll_wsprintfW]
jmp 0x462aa9
cmp eax, 1
jne 0x462aac
push 0
add ecx, 8
push ecx
lea eax, [ebp - 0x120]
push eax
call fcn.00441f26
add esp, 0xc
and dword [ebp - 0x7c], 0
push 9
pop ecx
push dword [ebp - 4]
xor eax, eax
lea edi, [ebp - 0x78]
lea esi, [ebp - 0x7c]
rep stosd dword es:[edi], eax
call fcn.00441ea6
mov dword [esp], 0x200
push dword [ebp - 4]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
call fcn.00441d1c
cmp dword [ebp - 0x1c], 1
pop ecx
sete byte [ebp + 0xf]
xor edi, edi
cmp byte [ebp + 0xf], 0
pop ecx
mov dword [ebp - 0x3c], eax
je 0x462b0a
push edi
push edi
push edi
push edi
push edi
push eax
mov eax, dword [ebp - 0xc]
push dword [eax + 0x28]
lea eax, [ebp - 4]
push dword [ebp - 0x20]
push eax
call fcn.004496a4
add esp, 0x24
cmp dword [ebp - 0x14], edi
mov byte [ebp - 5], 0xff
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x18], edi
jle 0x462b3c
mov esi, dword [ebp - 0xc]
add esi, 0x50
cmp byte [ebp + 0xf], 0
jne 0x462b82
cmp byte [esi], 0x42
jne 0x462be5
mov al, byte [ebp - 0x1c]
mov byte [ebp - 5], al
xor edi, edi
push dword [ebp - 4]
push edi
call fcn.00446949
mov esi, dword [ebp + 8]
pop ecx
pop ecx
push 0xc8
mov ecx, esi
mov dword [ebp - 0x20], eax
call fcn.00444a55
push 0x800
push 1
push edi
push dword [ebp - 4]
call fcn.0044983a
add esp, 0x10
cmp eax, 0xc
mov byte [ebp + 0xf], 0x3f
jne 0x462bff
mov byte [ebp + 0xf], 0x46
jmp 0x462c08
push 0x10
push 0x4c68f4
push esi
call fcn.0043e4f6
add esp, 0xc
test eax, eax
jne 0x462ba7
mov eax, dword [ebp - 0x3c]
mov edi, dword [esi - 0x14]
cdq
add eax, dword [esi - 0x18]
mov dword [ebp - 0x54], eax
adc edi, edx
jmp 0x462bd2
push 0x10
push 0x4c6904
push esi
call fcn.0043e4f6
add esp, 0xc
test eax, eax
jne 0x462bd2
mov eax, dword [ebp - 0x3c]
cdq
push edx
push eax
push dword [esi - 0x14]
push dword [esi - 0x18]
call fcn.004acfc0
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x54]
or eax, edi
je 0x462be5
mov eax, dword [ebp - 0x24]
or eax, dword [ebp - 0x20]
jne 0x462b34
inc dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
add esi, 0x90
cmp eax, dword [ebp - 0x14]
jl 0x462b25
jmp 0x462b3a
cmp eax, 0xb
jne 0x462c08
mov byte [ebp + 0xf], 0x52
cmp dword [ebp - 0x30], edi
mov word [ebp - 0x1a0], di
je 0x462c4f
or dword [ebp - 0x34], 0xffffffff
or dword [ebp - 0x30], 0xffffffff
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x1c]
push eax
push dword [ebp - 4]
mov dword [ebp - 0x1c], edi
call fcn.00453906
push dword [ebp - 0x30]
push dword [ebp - 0x34]
push dword [ebp - 0x1c]
push edx
push eax
lea eax, [ebp - 0x1a0]
push str.__I64d__u__I64d
push eax
call dword [sym.imp.user32.dll_wsprintfW]
add esp, 0x28
push dword [ebp - 0x48]
lea eax, [ebp - 0x21c]
push dword [ebp - 0x4c]
push eax
call fcn.0049a8ca
push dword [ebp - 0x78]
lea eax, [ebp - 0x298]
push dword [ebp - 0x7c]
push eax
call fcn.0049a8ca
lea ecx, [ebp - 0x1a0]
push ecx
movsx ecx, byte [ebp + 0xf]
push ecx
push dword [ebp - 0x28]
mov eax, dword [esi]
push dword [ebp - 0x20]
lea ecx, [ebp - 0x120]
push ecx
push dword [ebp - 0x74]
lea ecx, [ebp - 0x298]
push dword [ebp - 0x68]
push dword [ebp - 0x6c]
push dword [ebp - 0x70]
push ecx
lea ecx, [ebp - 0x21c]
push ecx
push dword [ebp - 0x10]
push str._2d__14s__14s__6lu__4lu__4lu__4lu__s__2d__s__c_s
push eax
call dword [sym.imp.user32.dll_wsprintfW]
add esp, 0x50
cmp dword [ebp - 0x40], edi
mov dword [ebp - 0x14], eax
je 0x462cca
push ebx
mov ecx, esi
call fcn.00444a7c
cmp dword [ebp - 0x38], edi
je 0x462cd9
push dword [ebp - 0x44]
mov ecx, esi
call fcn.00444a7c
cmp byte [ebp - 5], 0
jl 0x462ceb
push 0x4c9210
mov ecx, esi
call fcn.00444a7c
lea ecx, [ebp - 4]
call fcn.00402cb5
mov eax, dword [ebp + 8]
push dword [eax]
call fcn.00410df6
pop ecx
lea ecx, [ebp - 0x2c]
call fcn.0043e48d
pop edi
mov eax, 0x4dbd30
test eax, eax
pop esi
pop ebx
je 0x462d19
push eax
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
mov eax, dword [ebp - 0x14]
leave
ret