Function at 0x4491c0
Capabilities:
Get disk information
Timestomp file
Write file on windows

Disassembly:
mov eax, 0x22648
call fcn.0046be90
mov eax, dword [0x4b77c0]
xor eax, esp
mov dword [esp + 0x22644], eax
push ebx
push esi
mov esi, dword [esp + 0x22654]
push edi
xor ebx, ebx
push 0x103
lea eax, [esp + 0x441]
push ebx
push eax
mov dword [esp + 0x18], ebx
or edi, 0xffffffff
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x24], ebx
mov byte [esp + 0x448], bl
call fcn.0046bf90
push 0x103
lea ecx, [esp + 0x149]
push ebx
push ecx
mov byte [esp + 0x150], bl
call fcn.0046bf90
mov edx, dword [esi + 0x3c]
mov eax, edx
lea ecx, [eax - 0x200]
add esp, 0x18
mov dword [esp + 0x38], edi
mov dword [esp + 0x34], ebx
mov dword [0x4dfff8], edx
cmp ecx, 0xe00
ja 0x449ec3
test eax, 0x1ff
jne 0x449ec3
mov edx, dword [esi + 4]
test edx, edx
je 0x449282
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
mov eax, 0xfffe0000
sub eax, ecx
mov ecx, edi
sbb ecx, edx
mov edx, dword [esi + 0x18]
mov ebx, dword [esi + 0x1c]
add edx, eax
mov dword [esp + 0x28], edx
adc ebx, ecx
jmp 0x4492b8
mov eax, dword [esi + 0x10]
cmp dword [esi + 0x14], ebx
ja 0x4492b0
jb 0x449293
cmp eax, 0x40000
ja 0x4492b0
pop edi
pop esi
mov eax, 7
pop ebx
mov ecx, dword [esp + 0x22644]
xor ecx, esp
call fcn.0046be7b
add esp, 0x22648
ret
mov dword [esp + 0x28], 0x20000
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 4]
push ebp
push eax
push ecx
push edx
mov dword [esp + 0x3c], ebx
call fcn.00448870
add esp, 0xc
mov ebp, eax
mov eax, dword [0x4dfff8]
push 0
mov ebx, edx
push eax
push ebx
push ebp
mov dword [esp + 0x30], ebp
mov dword [esp + 0x34], ebx
call fcn.0046d280
mov ecx, dword [esi]
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], edx
test ecx, ecx
je 0x44932f
mov ecx, dword [esi + 8]
lea edx, [esp + 0x64c]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x449304
lea edx, [esp + 0x64c]
push edx
call fcn.00430d20
lea eax, [esp + 0x650]
push eax
call fcn.004334f0
add esp, 8
mov dword [esp + 0x3c], eax
push 0x200
lea ecx, [esp + 0x244]
push ecx
call dword [sym.imp.KERNEL32.dll_VirtualLock]
mov edx, dword [esi + 4]
test edx, edx
je 0x44934f
mov eax, ebp
mov ecx, ebx
jmp 0x449353
xor eax, eax
xor ecx, ecx
mov edx, dword [0x4dfff8]
push 0
push edx
mov edx, dword [esi + 0x28]
push edx
mov edx, dword [esp + 0x3c]
push 0
push ebx
push ebp
push edx
mov edx, dword [esp + 0x48]
push edx
push ecx
mov ecx, dword [esi + 0x24]
mov edx, dword [esi + 0x44]
push eax
push ebx
push ebp
lea eax, [esp + 0x40]
push eax
mov eax, dword [esi + 0x20]
push 0
push ecx
push edx
push 1
push eax
lea ecx, [esp + 0x288]
push ecx
push 0
call fcn.00459490
mov ebx, eax
add esp, 0x50
test ebx, ebx
je 0x4493f7
lea edx, [esp + 0x240]
mov ecx, 0x200
mov esi, ecx
mov eax, edx
nop
mov byte [eax], 0
inc eax
sub esi, 1
jne 0x4493b0
lea esp, [esp]
dec ecx
mov byte [edx], 0
inc edx
test ecx, ecx
jne 0x4493c0
push 0x200
lea edx, [esp + 0x244]
push edx
call dword [sym.imp.KERNEL32.dll_VirtualUnlock]
mov eax, ebx
pop ebp
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x22644]
xor ecx, esp
call fcn.0046be7b
add esp, 0x22648
ret
mov eax, dword [esi]
mov ebx, dword [sym.imp.KERNEL32.dll_DefineDosDeviceA]
nop
test eax, eax
je 0x4497a6
mov eax, dword [esi + 8]
push 0
lea ecx, [esp + 0x140]
push ecx
lea edx, [esp + 0x448]
push edx
push eax
call fcn.00430590
add esp, 0x10
test eax, eax
jne 0x449d93
lea ecx, [esp + 0x13c]
push ecx
call fcn.00433230
add esp, 4
test eax, eax
je 0x4494a4
mov edx, dword [esi + 8]
push edx
lea eax, [esp + 0x140]
push eax
call fcn.00433680
mov edi, eax
add esp, 8
cmp edi, 0xffffffff
jne 0x449474
push str.FORMAT_CANT_DISMOUNT_FILESYS
call fcn.00433d70
add esp, 4
mov ebp, 0x1c
jmp 0x449b95
push 0
lea ecx, [esp + 0x44]
push ecx
push 0
push 0
push 0
push 0
push 0x90083
push edi
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
jne 0x449573
mov dword [esp + 0x38], 1
jmp 0x449573
push 0xb
call fcn.004369c0
add esp, 4
test eax, eax
je 0x449573
cmp dword [esp + 0x3c], 0xffffffff
jne 0x449573
push 0x104
lea edx, [esp + 0x549]
push 0
push edx
mov byte [esp + 0x20], 0x41
mov byte [esp + 0x21], 0x3a
mov byte [esp + 0x22], 0
mov byte [esp + 0x24], 0x41
mov byte [esp + 0x25], 0x3a
mov byte [esp + 0x26], 0x5c
mov byte [esp + 0x27], 0
mov byte [esp + 0x550], 0
call fcn.0046bf90
add esp, 0xc
call fcn.004331d0
cmp eax, 0xffffffff
je 0x449573
add byte [esp + 0x18], al
add byte [esp + 0x14], al
mov eax, dword [esi + 8]
push eax
lea ecx, [esp + 0x18]
push ecx
push 1
call ebx
test eax, eax
je 0x449573
push 0x104
lea edx, [esp + 0x548]
push edx
lea eax, [esp + 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_GetVolumeNameForVolumeMountPointA]
mov ecx, dword [esi + 8]
push ecx
lea edx, [esp + 0x18]
push edx
push 7
mov ebp, eax
call ebx
test ebp, ebp
je 0x449573
lea eax, [esp + 0x544]
push eax
lea ecx, [esp + 0x1c]
push ecx
call dword [sym.imp.KERNEL32.dll_SetVolumeMountPointA]
test eax, eax
je 0x449573
lea edx, [esp + 0x18]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteVolumeMountPointA]
push 0
lea eax, [esp + 0x44]
push eax
push 0
push 0
push 0
push 0
push 0x90083
push edi
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
xor eax, eax
cmp dword [esp + 0x38], eax
sete al
cmp eax, 2
mov dword [esp + 0x28], eax
jge 0x4496bf
mov ebx, dword [sym.imp.KERNEL32.dll_CreateFileA]
lea ebx, [ebx]
xor ebp, ebp
cmp edi, 0xffffffff
jne 0x449650
jmp 0x4495c0
mov ecx, ebp
inc ebp
cmp ecx, 0x1f4
jge 0x4495fa
push 0
push 0
push 3
push 0
push 0
push 0xc0000000
lea edx, [esp + 0x154]
push edx
call ebx
cmp ebp, 1
mov edi, eax
jle 0x4495f3
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp edi, 0xffffffff
je 0x4495c0
jmp 0x449650
cmp edi, 0xffffffff
jne 0x449650
push 0
push 0
push 3
push 0
push 3
push 0xc0000000
lea eax, [esp + 0x154]
push eax
call ebx
mov edi, eax
cmp edi, 0xffffffff
je 0x449786
mov ecx, dword [0x4dce70]
push 0x134
push ecx
push str.DEVICE_IN_USE_FORMAT
call fcn.0044c960
mov edx, dword [esi + 0x48]
add esp, 4
push eax
push edx
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 7
je 0x44946a
mov eax, dword [esi + 4]
test eax, eax
jne 0x4496bf
cmp dword [esp + 0x1c], eax
jne 0x4496bf
cmp dword [esp + 0x28], eax
jne 0x4496ad
push 0x2000
push eax
lea ecx, [esp + 0x85c]
push ecx
call fcn.0046bf90
add esp, 0xc
push 0
lea edx, [esp + 0x70]
push edx
push 0x2000
lea eax, [esp + 0x860]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x4497ef
push edi
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
or edi, 0xffffffff
mov eax, dword [esp + 0x28]
inc eax
cmp eax, 2
mov dword [esp + 0x28], eax
jl 0x4495b0
push 0
lea edx, [esp + 0x44]
push edx
push 0
push 0
push 0
push 0
push 0x90028
push edi
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
jne 0x44945d
mov edx, dword [esi + 4]
test edx, edx
je 0x449717
mov eax, dword [esi]
test eax, eax
jne 0x449717
cmp dword [0x4b5118], eax
je 0x449717
lea ecx, [esp + 0x50]
push ecx
lea edx, [esp + 0x5c]
push edx
lea eax, [esp + 0x68]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetFileTime]
neg eax
sbb eax, eax
neg eax
mov dword [esp + 0x34], eax
mov ecx, dword [esi + 0x48]
push 0xff
push ecx
call dword [sym.imp.USER32.dll_KillTimer]
mov edx, dword [esi + 4]
test edx, edx
je 0x449896
mov eax, dword [esi + 0x18]
cmp dword [esi + 0x1c], 0
ja 0x449745
cmp eax, 0x55000
jb 0x44995b
mov eax, dword [esi + 0x18]
cmp dword [esi + 0x1c], 0x7fff
ja 0x44995b
jb 0x449762
cmp eax, 0xfffc0000
ja 0x44995b
mov eax, 0x10000
xor ecx, ecx
push ecx
push ecx
push ecx
push eax
push edi
call dword [sym.imp.KERNEL32.dll_SetFilePointerEx]
test eax, eax
jne 0x4498a7
mov ebp, 1
jmp 0x449b95
mov ecx, dword [esi + 0x48]
push ecx
call fcn.00434ad0
push str.CANT_ACCESS_VOL
call fcn.00433d70
add esp, 8
mov ebp, 0x1c
jmp 0x449b95
mov eax, dword [esi + 4]
test eax, eax
jne 0x4497b6
lea ecx, [eax + 2]
cmp dword [esp + 0x1c], eax
je 0x4497bb
mov ecx, 3
mov edx, dword [esi + 4]
test edx, edx
jne 0x4497cc
cmp dword [esp + 0x1c], edx
jne 0x4497cc
xor eax, eax
jmp 0x4497d1
mov eax, 3
push 0
push 0
push ecx
push 0
push eax
mov eax, dword [esi + 8]
push 0xc0000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov edi, eax
cmp edi, 0xffffffff
jne 0x4497f9
mov ebp, 1
jmp 0x449b95
push edi
call fcn.004348f0
mov ecx, dword [esi + 4]
add esp, 4
test ecx, ecx
jne 0x4496e2
cmp dword [esp + 0x1c], ecx
jne 0x4496e2
mov ebp, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
mov edx, dword [esi + 0x34]
add ebp, 0x20000
adc ebx, ecx
test edx, edx
je 0x44985b
mov eax, dword [esi + 0x38]
test eax, eax
je 0x44985b
push ecx
lea ecx, [esp + 0x6c]
push ecx
push 0
push 0
push 0
push 0
push 0x900c4
push edi
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
jne 0x44985b
lea ebp, [eax + 1]
jmp 0x449b95
push 0
push 0
push ebx
push ebp
push edi
call dword [sym.imp.KERNEL32.dll_SetFilePointerEx]
test eax, eax
je 0x44988c
push edi
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
test eax, eax
je 0x44988c
push 0
push 0
push 0
push edi
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
test eax, eax
je 0x4496e2
mov ebp, 1
jmp 0x449b95
cmp dword [esp + 0x1c], 0
je 0x4498ae
mov eax, 0x20000
jmp 0x449767
cmp dword [esp + 0x1c], 0
jne 0x449924
mov ecx, dword [esi]
lea eax, [esp + 0x240]
push eax
push edi
push ecx
call fcn.00459e60
add esp, 0xc
test eax, eax
je 0x44977c
mov edx, dword [esi]
test edx, edx
jne 0x449924
mov eax, dword [esi + 4]
test eax, eax
jne 0x449924
push 0x1fe00
push eax
lea ecx, [esp + 0x285c]
push ecx
call fcn.0046bf90
add esp, 0xc
push 0
lea edx, [esp + 0x50]
push edx
push 0x1fe00
lea eax, [esp + 0x2860]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x44977c
cmp dword [esp + 0x4c], 0x1fe00
je 0x449924
mov ebp, 0x1e
jmp 0x449b95
mov ecx, dword [esi + 4]
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x30]
test ecx, ecx
je 0x44996c
mov ecx, dword [0x4dfff8]
mov edx, dword [esp + 0x10]
push 0
push ecx
mov dword [edx + 0x4418], ebx
mov eax, dword [esp + 0x18]
push ebp
push ebx
mov dword [eax + 0x441c], ebp
call fcn.00470660
or eax, edx
je 0x449965
mov ebp, 7
jmp 0x449b95
mov dword [esi + 0x38], 1
mov edx, dword [0x4dfff8]
push 0
push edx
push ebp
push ebx
call fcn.0046d280
mov ebx, eax
mov eax, dword [esi + 0x2c]
sub eax, 0
mov ebp, edx
je 0x449a54
sub eax, 1
je 0x4499a4
sub eax, 1
je 0x449a54
mov ebp, 0x1e
jmp 0x449b95
cmp dword [esp + 0x48], 0
ja 0x4499b4
mov eax, dword [esp + 0x44]
cmp eax, 0xffffffff
jbe 0x4499be
mov ebp, 7
jmp 0x449b95
mov ecx, dword [esi + 0x30]
mov edx, dword [str.NO_NAME]
mov dword [esp + 0x80], eax
mov ax, word [0x4dfff8]
mov word [esp + 0xa2], ax
mov eax, dword [0x4963fc]
mov dword [esp + 0x74], eax
mov dword [esp + 0x98], ecx
mov cx, word [0x496400]
mov dword [esp + 0x70], edx
mov dl, byte [0x496402]
lea eax, [esp + 0x70]
push eax
mov word [esp + 0x7c], cx
mov byte [esp + 0x7e], dl
call fcn.00447cd0
mov eax, dword [esp + 0x9c]
imul eax, dword [0x4dfff8]
mov ecx, dword [esi + 0x40]
mov dword [ecx], eax
mov edx, dword [esi]
add esp, 4
test edx, edx
je 0x449a39
call fcn.00448ae0
test eax, eax
je 0x44977c
mov eax, dword [esi + 0x38]
mov ecx, dword [esp + 0x10]
push eax
push ecx
push edi
lea edx, [esp + 0x7c]
push edx
push ebp
push ebx
call fcn.004481d0
add esp, 0x18
jmp 0x449a85
mov ecx, dword [esi]
test ecx, ecx
je 0x449a67
call fcn.00448ae0
test eax, eax
je 0x44977c
mov edx, dword [esi + 0x38]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x48]
push edx
mov edx, dword [esp + 0x48]
push eax
push edi
push ecx
push edx
push ebp
push ebx
call fcn.00448e10
add esp, 0x1c
mov ebp, eax
mov eax, dword [esi]
test eax, eax
je 0x449a92
call fcn.00448bc0
test ebp, ebp
jne 0x449b95
mov ecx, dword [esi + 4]
mov ebx, dword [esp + 0x20]
test ecx, ecx
je 0x449ab4
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x1c]
sub eax, 0x10000
sbb ecx, ebp
jmp 0x449ac2
mov ecx, dword [esp + 0x24]
mov eax, ebx
add eax, 0x20000
adc ecx, 0
push 0
push 0
push ecx
push eax
push edi
call dword [sym.imp.KERNEL32.dll_SetFilePointerEx]
test eax, eax
je 0x44977c
mov edx, dword [esi + 4]
test edx, edx
je 0x449ae6
mov ecx, dword [esp + 0x24]
mov eax, ebx
jmp 0x449aea
xor eax, eax
xor ecx, ecx
mov edx, dword [0x4dfff8]
mov ebp, dword [esp + 0x30]
push 0
push edx
mov edx, dword [esi + 0x28]
push edx
mov edx, dword [esp + 0x30]
push 0
push edx
push ebx
push ebp
mov ebp, dword [esp + 0x48]
push ebp
push ecx
mov ecx, dword [esp + 0x34]
push eax
push edx
mov edx, dword [esi + 0x24]
push ebx
lea eax, [esp + 0x40]
push eax
mov eax, dword [esi + 0x44]
add ecx, 0x41a8
push ecx
mov ecx, dword [esi + 0x20]
push edx
push eax
push 1
push ecx
lea edx, [esp + 0x288]
push edx
push 0
call fcn.00459490
mov ecx, dword [esi]
mov ebp, eax
lea eax, [esp + 0x290]
push eax
push edi
push ecx
call fcn.00459e60
add esp, 0x5c
test eax, eax
je 0x44977c
mov edx, dword [esi + 4]
test edx, edx
jne 0x449b7b
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
push edx
push edx
push eax
push ebx
push ecx
push edi
call fcn.00459fc0
mov ebp, eax
add esp, 0x18
test ebp, ebp
jne 0x449b95
mov edx, dword [esi + 0x38]
test edx, edx
je 0x449b95
mov eax, dword [esi + 0x2c]
cmp eax, 2
je 0x449b95
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea edx, [esp + 0x240]
mov ecx, 0x200
mov dword [esp + 0x28], eax
mov ebx, ecx
mov eax, edx
nop
mov byte [eax], 0
inc eax
sub ebx, 1
jne 0x449bb0
lea esp, [esp]
dec ecx
mov byte [edx], 0
inc edx
test ecx, ecx
jne 0x449bc0
push 0x200
lea ecx, [esp + 0x244]
push ecx
call dword [sym.imp.KERNEL32.dll_VirtualUnlock]
cmp edi, 0xffffffff
je 0x449c35
mov edx, dword [esi]
test edx, edx
jne 0x449c07
mov eax, dword [esi + 4]
test eax, eax
jne 0x449c07
test ebp, ebp
je 0x449c07
push eax
push eax
push eax
push edi
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
test eax, eax
jne 0x449c07
push edi
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
push edi
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
cmp dword [esp + 0x34], 0
je 0x449c2b
lea ecx, [esp + 0x50]
push ecx
lea edx, [esp + 0x5c]
push edx
lea eax, [esp + 0x68]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_SetFileTime]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
or edi, 0xffffffff
test ebp, ebp
jne 0x449d9d
mov ecx, dword [esi + 0x2c]
cmp ecx, 2
jne 0x449e82
call fcn.00433200
push 0x88
lea edx, [esp + 0xb8]
push ebp
push edx
mov ebx, eax
call fcn.0046bf90
add esp, 0xc
cmp ebx, 0xffffffff
je 0x449dad
mov ecx, dword [0x4b5118]
xor eax, eax
push 1
push eax
lea edx, [esp + 0xbc]
push edx
push 1
push eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0x148], eax
mov eax, dword [esi + 0x44]
push eax
mov dword [esp + 0xd8], ecx
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0x48]
push ecx
push ebx
push edx
call fcn.0043f440
add esp, 0x24
cmp eax, 1
jl 0x449df7
call sub.SHELL32.dll_IsUserAnAdmin
test eax, eax
jne 0x449cf2
call fcn.004378f0
test eax, eax
je 0x449cf2
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0x48]
push eax
push ebx
push ecx
call fcn.00401520
add esp, 0xc
jmp 0x449cff
mov edx, dword [esi + 0x30]
push edx
push ebx
call fcn.004488e0
add esp, 8
push 0
push ebx
cmp eax, 1
je 0x449e51
mov eax, dword [esi + 0x48]
push eax
call fcn.00437770
add esp, 0xc
test eax, eax
jne 0x449d3c
mov ecx, dword [0x4dce70]
push 0x10
push ecx
push str.CANT_DISMOUNT_VOLUME
call fcn.0044c960
mov edx, dword [esi + 0x48]
add esp, 4
push eax
push edx
call dword [sym.imp.USER32.dll_MessageBoxW]
mov eax, dword [0x4dfff8]
mov ebx, 1
push ebx
push 0
push 0
push eax
call fcn.0046bca0
cmp dword [esp + 0x24], edx
ja 0x449e3d
jb 0x449d67
cmp dword [esp + 0x20], eax
ja 0x449e3d
push str.FORMAT_NTFS_FAILED_ASK_FAT
call fcn.00433f70
add esp, 4
cmp eax, 6
jne 0x449e4a
mov dword [esi + 0x2c], ebx
mov dword [esi + 0x38], ebx
mov dword [esp + 0x1c], ebx
mov dword [esi + 0x30], 0
jmp 0x4493f7
mov eax, 1
jmp 0x4493de
mov ecx, dword [esp + 0x28]
push ecx
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x449e82
mov edx, dword [0x4dce70]
push 0x10
push edx
push str.NO_FREE_DRIVES
call fcn.0044c960
mov edi, dword [sym.imp.USER32.dll_MessageBoxW]
add esp, 4
push eax
mov eax, dword [esi + 0x48]
push eax
call edi
mov ecx, dword [0x4dce70]
push 0x10
push ecx
push str.FORMAT_NTFS_STOP
call fcn.0044c960
mov edx, dword [esi + 0x48]
add esp, 4
push eax
push edx
call edi
mov ebp, 0x16
jmp 0x449e82
mov eax, dword [0x4dce70]
push 0x10
push eax
push str.CANT_MOUNT_VOLUME
call fcn.0044c960
mov ecx, dword [esi + 0x48]
mov edi, dword [sym.imp.USER32.dll_MessageBoxW]
add esp, 4
push eax
push ecx
call edi
mov edx, dword [0x4dce70]
push 0x10
push edx
push str.FORMAT_NTFS_STOP
call fcn.0044c960
add esp, 4
push eax
mov eax, dword [esi + 0x48]
push eax
call edi
mov ebp, 0x18
jmp 0x449e82
push str.FORMAT_NTFS_FAILED
call fcn.00433d70
add esp, 4
mov ebp, 0x1c
jmp 0x449e82
mov ecx, dword [esi + 0x48]
push ecx
call fcn.00437770
add esp, 0xc
test eax, eax
jne 0x449e82
mov edx, dword [0x4dce70]
push 0x10
push edx
push str.CANT_DISMOUNT_VOLUME
call fcn.0044c960
add esp, 4
push eax
mov eax, dword [esi + 0x48]
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp byte [esp + 0x440], 0
mov edi, eax
je 0x449ea8
mov edx, dword [esi + 8]
lea ecx, [esp + 0x440]
push ecx
push edx
call fcn.004305f0
add esp, 8
mov eax, dword [esp + 0x10]
push eax
call fcn.0042c060
add esp, 4
push edi
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, ebp
jmp 0x4493de
push str.SECTOR_SIZE_UNSUPPORTED
call fcn.00433d70
mov ecx, dword [esp + 0x22654]
add esp, 4
pop edi
pop esi
pop ebx
xor ecx, esp
mov eax, 0x1c
call fcn.0046be7b
add esp, 0x22648
ret