Function at 0x465f00
Capabilities:
Get disk information

Disassembly:
push ebp
lea ebp, [esp - 0x144]
sub esp, 0x144
push 0xffffffffffffffff
push 0x5fba66
mov eax, dword fs:[0]
push eax
sub esp, 0x5c
mov eax, dword [0x6f1550]
xor eax, ebp
mov dword [ebp + 0x140], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, ecx
mov dword [ebp - 0x28], esi
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x20]
call fcn.00401a30
mov byte [ebp - 4], 1
push str.Aborted
lea ecx, [ebp - 0x24]
call fcn.00401f00
mov byte [ebp - 4], 2
mov byte [ebp - 4], 3
cmp dword [esi + 0x234], 0
jne 0x466091
push 0
push 0x6bea50
push 0x6bea34
push 0
mov ebx, dword [ebp + 0x14c]
push ebx
call fcn.005c0a53
add esp, 0x14
test eax, eax
jne 0x466014
push eax
push 0x6beaa4
push 0x6bea34
push eax
push ebx
call fcn.005c0a53
add esp, 0x14
test eax, eax
jne 0x466014
push eax
push 0x6bea88
push 0x6bea34
push eax
push ebx
call fcn.005c0a53
add esp, 0x14
test eax, eax
jne 0x466014
push eax
push 0x6beaa4
push 0x6bea34
push eax
push ebx
call fcn.005c0a53
add esp, 0x14
test eax, eax
jne 0x466014
push eax
push 0x6bea6c
push 0x6bea34
push eax
push ebx
call fcn.005c0a53
add esp, 0x14
test eax, eax
jne 0x466014
push eax
push 0x6beac0
push 0x6bea34
push eax
push ebx
call fcn.005c0a53
add esp, 0x14
test eax, eax
je 0x466091
lea edi, [esi + 0x1f8]
lea eax, [ebx + 4]
push eax
mov ecx, edi
call fcn.00404700
push 0
push 0x3f
mov ecx, edi
call fcn.00404020
test eax, eax
jle 0x466058
push eax
lea ecx, [ebp - 0x14]
push ecx
mov ecx, edi
call fcn.0042ebc0
mov byte [ebp - 4], 4
push eax
mov ecx, edi
call fcn.00404700
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x14]
call fcn.00401aa0
mov dword [esi + 0x234], 1
push 0
push 0x6bea50
push 0x6bea34
push 0
push ebx
call fcn.005c0a53
add esp, 0x14
test eax, eax
je 0x466244
cmp dword [eax + 0x28], 0
jne 0x4660e4
mov dword [esi + 0x234], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x24]
call fcn.00401aa0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x20]
call fcn.00401aa0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x14c]
call fcn.00455e90
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x140]
xor ecx, ebp
call fcn.005bf6a4
add ebp, 0x144
mov esp, ebp
pop ebp
ret 4
lea ecx, [eax + 0x20]
call fcn.00454720
push eax
lea ecx, [ebp - 0x1c]
call fcn.00404170
mov byte [ebp - 4], 5
push 0
push 0x619b8c
lea ecx, [ebp - 0x1c]
call fcn.00416240
test eax, eax
jle 0x466236
add eax, 2
push eax
lea edx, [ebp - 0x18]
push edx
lea ecx, [ebp - 0x1c]
call fcn.0042ebc0
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_GetDriveTypeA]
mov edi, eax
push 0xa
lea ecx, [ebp - 0x68]
call fcn.004dc130
mov byte [ebp - 4], 7
cmp edi, 2
je 0x46617d
cmp edi, 5
jne 0x46621e
mov eax, dword [ebp - 0x18]
cmp dword [eax - 0xc], 0
jge 0x46615f
push 0x80070057
call fcn.00401480
mov cl, byte [eax]
mov byte [ebp - 0x14], cl
lea edx, [ebp - 0x68]
push edx
mov eax, dword [ebp - 0x14]
push eax
call fcn.00488ca0
add esp, 8
cmp eax, 1
je 0x46621e
mov edi, 4
cmp edi, 4
jne 0x4661e6
lea ecx, [ebp]
push ecx
mov edx, dword [ebp - 0x1c]
push edx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
cmp eax, 0xffffffff
je 0x4661a8
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
mov edi, 1
jmp 0x466182
lea ecx, [ebp - 0x14]
call fcn.00401a30
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x1c]
push eax
push str._s_was_not_found__please_insert_media_containing_this_file.
lea ecx, [ebp - 0x14]
push ecx
call fcn.0040ada0
add esp, 0xc
push 0
push 5
mov edx, dword [ebp - 0x14]
push edx
call fcn.005a9608
mov edi, eax
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x14]
call fcn.00401aa0
jmp 0x466182
cmp edi, 1
je 0x46621e
mov dword [esi + 0x234], 0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x68]
call fcn.00404010
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x18]
call fcn.00401aa0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1c]
call fcn.00401aa0
jmp 0x466091
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x68]
call fcn.00404010
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x18]
call fcn.00401aa0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1c]
call fcn.00401aa0
jmp 0x46625b
push 0
push 0x6beaa4
push 0x6bea34
push 0
push ebx
call fcn.005c0a53
add esp, 0x14
push 0
push 0
push 0x36a
mov eax, dword [esi + 0x20]
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
mov byte [ebp - 4], 9
cmp byte [esi + 0x288], 0
je 0x466295
lea ecx, [ebp - 0x24]
push ecx
lea ecx, [ebp - 0x44]
call fcn.00404170
push 0x6a09b0
lea edx, [ebp - 0x44]
push edx
call fcn.005c04c4
push ebx
mov ecx, esi
call fcn.00458e90
cmp byte [esi + 0x288], 0
je 0x4662c0
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x48]
call fcn.00404170
push 0x6a09b0
lea ecx, [ebp - 0x48]
push ecx
call fcn.005c04c4
mov ecx, esi
call fcn.00456820
cmp byte [esi + 0x288], 0
je 0x4662ea
lea edx, [ebp - 0x24]
push edx
lea ecx, [ebp - 0x2c]
call fcn.00404170
push 0x6a09b0
lea eax, [ebp - 0x2c]
push eax
call fcn.005c04c4
push 0
push 0x6beaa4
push 0x6bea34
push 0
push ebx
call fcn.005c0a53
add esp, 0x14
mov edi, eax
push 0
test edi, edi
je 0x466336
lea ebx, [esi + 0xac8]
push 0x612ba8
mov ecx, ebx
call fcn.0046d8c0
push 0
push 0x61df44
mov ecx, ebx
call fcn.0046d8c0
push edi
mov ecx, esi
call fcn.0045e1a0
jmp 0x466413
push 0x6bea88
push 0x6bea34
push 0
push ebx
call fcn.005c0a53
add esp, 0x14
mov edi, eax
push 0
test edi, edi
je 0x466380
lea ebx, [esi + 0xac8]
push 0x612ba8
mov ecx, ebx
call fcn.0046d8c0
push 0
push 0x61df44
mov ecx, ebx
call fcn.0046d8c0
push edi
mov ecx, esi
call fcn.00463120
jmp 0x466413
push 0x6bea50
push 0x6bea34
push 0
push ebx
call fcn.005c0a53
add esp, 0x14
test eax, eax
je 0x4663a3
push eax
mov ecx, esi
call fcn.00463950
jmp 0x466419
push 0
push 0x6bea6c
push 0x6bea34
push 0
push ebx
call fcn.005c0a53
add esp, 0x14
test eax, eax
je 0x4663c8
push eax
mov ecx, esi
call fcn.00459ee0
jmp 0x466419
push 0
push 0x6beac0
push 0x6bea34
push 0
push ebx
call fcn.005c0a53
add esp, 0x14
mov edi, eax
test edi, edi
je 0x466754
lea ebx, [esi + 0xac8]
push 0
push 0x612ba8
mov ecx, ebx
call fcn.0046d8c0
push 0
push 0x61df44
mov ecx, ebx
call fcn.0046d8c0
push edi
mov ecx, esi
call fcn.0045e7c0
mov ebx, dword [ebp + 0x14c]
cmp byte [esi + 0x288], 0
je 0x46643c
lea ecx, [ebp - 0x24]
push ecx
lea ecx, [ebp - 0x38]
call fcn.00404170
push 0x6a09b0
lea edx, [ebp - 0x38]
push edx
call fcn.005c04c4
mov ecx, esi
call fcn.00460710
cmp byte [esi + 0x288], 0
je 0x466466
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x4c]
call fcn.00404170
push 0x6a09b0
lea ecx, [ebp - 0x4c]
push ecx
call fcn.005c04c4
mov ecx, esi
call fcn.00457d80
cmp byte [esi + 0x288], 0
je 0x466490
lea edx, [ebp - 0x24]
push edx
lea ecx, [ebp - 0x40]
call fcn.00404170
push 0x6a09b0
lea eax, [ebp - 0x40]
push eax
call fcn.005c04c4
mov eax, dword [esi + 0x188]
test eax, eax
je 0x466503
cmp byte [esi + 0x249], 0
je 0x4664ac
cmp byte [esi + 0x199], 0
je 0x466503
lea edi, [ebx + 8]
mov eax, dword [edi]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x4664e2
lea ecx, [ebp - 0x14]
push ecx
mov ecx, edi
call fcn.0055dda0
push ecx
mov ecx, esp
mov dword [ebp - 0x18], esp
push eax
call fcn.00404170
mov byte [ebp - 4], 0xa
mov byte [ebp - 4], 9
mov ecx, esi
call fcn.00460d00
jmp 0x4664b4
mov eax, dword [esi + 0x170]
test eax, eax
jbe 0x466503
lea ecx, [esi + 0x168]
call fcn.00454720
mov eax, dword [eax]
push 0
push eax
mov ecx, esi
call fcn.0045b7d0
cmp byte [esi + 0x288], 0
je 0x466526
lea edx, [ebp - 0x24]
push edx
lea ecx, [ebp - 0x30]
call fcn.00404170
push 0x6a09b0
lea eax, [ebp - 0x30]
push eax
call fcn.005c04c4
lea ecx, [ebx + 4]
push ecx
lea ecx, [ebp - 0x1c]
call fcn.00404170
mov byte [ebp - 4], 0xb
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx - 0xc]
test eax, eax
je 0x4665e9
mov eax, dword [esi + 0x204]
cmp eax, 1
jne 0x4665d7
push 0x2f
push 0x5c
lea ecx, [ebp - 0x1c]
call fcn.00432e60
push 0x2f
lea ecx, [ebp - 0x1c]
call fcn.00430310
add eax, 1
push eax
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x1c]
call fcn.00404540
mov byte [ebp - 4], 0xc
push 0
push 0x3f
lea ecx, [ebp - 0x18]
call fcn.00404020
test eax, eax
jle 0x4665b3
push eax
lea ecx, [ebp - 0x14]
push ecx
lea ecx, [ebp - 0x18]
call fcn.0042ebc0
mov byte [ebp - 4], 0xd
push eax
lea ecx, [ebp - 0x18]
call fcn.004044c0
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x14]
call fcn.00401aa0
mov edx, dword [ebp - 0x18]
mov eax, dword [edx - 0xc]
test eax, eax
je 0x4665c9
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x1c]
call fcn.004044c0
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x18]
call fcn.00401aa0
jmp 0x4665e9
cmp eax, 2
jne 0x4665e9
push 0x61df40
lea ecx, [ebp - 0x1c]
call fcn.00401e80
call fcn.005a2d4d
mov edi, dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp eax, dword [edi + 0x30]
jne 0x46660b
mov ecx, esi
call fcn.0045fbd0
mov edi, dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x466623
push 0
push 0x801c
push 0x111
mov ecx, dword [esi + 0x20]
push ecx
mov edi, dword [sym.imp.USER32.dll_PostMessageA]
call edi
cmp dword [esi + 0x234], 2
je 0x466636
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x466623
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x14], esp
lea edx, [ebp - 0x1c]
push edx
call fcn.00404170
mov byte [ebp - 4], 0xe
lea ecx, [esi + 0xac8]
mov byte [ebp - 4], 0xb
call fcn.0046d930
push 0
push 0x3ed
push 0x111
mov eax, dword [esi + 0x20]
push eax
call edi
call fcn.005a2d4d
mov eax, dword [eax + 4]
test byte [eax + 0xd4], 1
jne 0x46668f
push 0
push 0x3eb
push 0x111
mov ecx, dword [esi + 0x20]
push ecx
call edi
call fcn.005a2d4d
mov eax, dword [eax + 4]
and dword [eax + 0xd4], 0xfffffffe
push 0
push 0x6bea50
push 0x6bea34
push 0
push ebx
call fcn.005c0a53
add esp, 0x14
test eax, eax
je 0x4666e8
mov ecx, dword [eax + 0x38]
mov eax, dword [eax + 0x3c]
test eax, eax
jl 0x46673c
jg 0x4666c9
test ecx, ecx
jbe 0x46673c
push 0
push 0x2710
push eax
push ecx
call fcn.005bf9a0
push eax
push 1
push 0x8003
mov ecx, esi
call fcn.00407a30
jmp 0x46673c
push 0
push 0x6bea6c
push 0x6bea34
push 0
push ebx
call fcn.005c0a53
add esp, 0x14
test eax, eax
je 0x46673c
add eax, 0x24
mov ecx, dword [eax]
test ecx, ecx
je 0x46673c
push eax
lea ecx, [ebp - 0x14]
call fcn.00455df0
mov byte [ebp - 4], 0xf
mov ecx, dword [eax]
mov dword [eax], 0
push ecx
push 2
push 0x8003
mov ecx, esi
call fcn.00407a30
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x14]
call fcn.00434d90
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x1c]
call fcn.00401aa0
mov dword [ebp - 4], 3
jmp 0x466846
mov dword [ebp - 0x34], str.Cant_open__invalid_input_parameters
push 0x69fbf0
lea edx, [ebp - 0x34]
push edx
call fcn.005c04c4
mov eax, dword [ebp - 0x50]
push eax
lea ecx, [ebp - 0x20]
call fcn.00401e80
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x14], esp
lea edx, [ebp - 0x20]
push edx
call fcn.00404170
mov byte [ebp - 4], 0x11
mov esi, dword [ebp - 0x28]
lea ecx, [esi + 0xac8]
mov byte [ebp - 4], 0x10
call fcn.0046d930
mov byte [esi + 0x1fd], 0
mov dword [ebp - 4], 3
mov eax, 0x466843
ret
mov ecx, dword [ebp - 0x20]
cmp dword [ecx - 0xc], 0
je 0x466975
mov ecx, esi
call fcn.0045db40
lea ecx, [esi + 0x1dc]
lea edx, [ebp - 0x20]
push edx
call fcn.004044c0
push 0
push 0x6bea50
push 0x6bea34
push 0
mov eax, dword [ebp + 0x14c]
push eax
call fcn.005c0a53
add esp, 0x14
test eax, eax
je 0x466982
lea ecx, [ebp - 0x24]
push ecx
lea edx, [ebp - 0x20]
push edx
call fcn.00435b80
add esp, 8
test al, al
je 0x466982
push 0
mov ecx, dword [esi + 0x1f0]
call fcn.00434fa0
mov ecx, dword [esi + 0x1f0]
call fcn.00434f10
cmp eax, 1
jle 0x466982
push fcn.00433420
push fcn.00433380
push 2
push 0x68
lea eax, [ebp + 0x70]
push eax
call fcn.005c050e
mov bl, 0x15
mov byte [ebp - 4], bl
lea ecx, [ebp + 0x70]
push ecx
mov ecx, dword [esi + 0x1f0]
call fcn.00434f60
mov ecx, dword [esi + 0x1f0]
call fcn.00435350
lea edx, [ebp + 0xd8]
push edx
mov ecx, dword [esi + 0x1f0]
call fcn.00434f60
mov eax, dword [ebp + 0x78]
cmp eax, dword [ebp + 0xe0]
je 0x46695d
push 0
push 0
mov ecx, dword [esi + 0x1f0]
call fcn.00437f50
mov dword [ebp - 0x18], eax
mov dl, 0x16
mov byte [ebp - 4], dl
test eax, eax
je 0x466952
push ecx
mov dword [ebp - 0x14], esp
mov ecx, esp
mov dword [ebp - 0x18], 0
mov dword [ecx], eax
mov byte [ebp - 4], 0x17
mov byte [ebp - 4], dl
mov ecx, esi
call fcn.00465f00
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x18]
call fcn.00455e90
mov byte [ebp - 4], 3
push fcn.00433420
push 2
push 0x68
lea ecx, [ebp + 0x70]
push ecx
call fcn.005c03e7
jmp 0x466982
push 1
mov ecx, dword [esi + 0x1f0]
call fcn.00434fa0
push 0
push 0
push 0x36a
mov edx, dword [esi + 0x20]
push edx
call dword [sym.imp.USER32.dll_PostMessageA]
mov dword [ebp - 4], 2
mov eax, dword [ebp - 0x20]
cmp dword [eax - 0xc], 0
sete bl
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x24]
call fcn.00401aa0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x20]
call fcn.00401aa0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x14c]
call fcn.00455e90
mov al, bl
jmp 0x4660bd