Function at 0x10005c4e
Capabilities:
Get disk information
Suspend thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc8
mov eax, edx
mov dword [ebp - 0x18], ecx
push ebx
push esi
push edi
cmp byte [eax], 0x50
mov dword [ebp - 0x14], eax
jne 0x10006177
cmp byte [eax + 1], 0x4b
jne 0x10006177
mov dword [ebp - 8], 0xde19d29b
xor edi, edi
mov dword [ebp - 0x10], 0xfffffffd
inc edi
mov dword [ebp - 0x10], 0xc9ed9ba0
xor ebx, ebx
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x8c], edi
mov dword [ebp - 0x88], edi
mov dword [ebp - 0x84], edi
mov dword [ebp - 0x80], edi
push 2
mov dword [ebp - 0x10], 0xf9034e10
mov dword [ebp - 4], ebx
pop edx
jmp 0x10005ccb
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x44], 0x6482
inc dword [ebp - 4]
cmp dword [ebp - 4], edx
jl 0x10005cbd
push 3
mov dword [ebp - 4], ebx
pop esi
jmp 0x10005ce5
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xc8], edi
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x10005cd8
mov dword [ebp - 8], ebx
jmp 0x10005d00
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + eax*4 - 0x44]
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x44], ecx
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jle 0x10005cef
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
push 0xfffffffffffffff7
mov al, byte [eax + 2]
mov byte [ebp - 9], al
pop eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 4], ebx
mov dword [ebp - 8], ebx
jmp 0x10005d39
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xa0], 4
inc dword [ebp - 8]
cmp dword [ebp - 8], edx
jl 0x10005d28
mov dword [ebp - 4], esi
cmp dword [ebp - 4], ebx
jl 0x10005d7a
mov dword [ebp - 8], 0x6b950ba1
mov dword [ebp - 8], ebx
jmp 0x10005d6d
mov eax, dword [ebp - 8]
cmp dword [ebp + eax*4 - 0x6c], ebx
jne 0x10005d72
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], bl
je 0x10005d6a
push ebx
call dword [sym.imp.KERNEL32.dll_SuspendThread]
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jle 0x10005d52
dec dword [ebp - 4]
jns 0x10005d46
push 2
pop edx
mov eax, dword [ebp - 0x14]
mov al, byte [eax + 3]
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x10], 0xce53d8da
mov dword [ebp - 4], edi
mov byte [ebp - 0x19], al
mov dword [ebp - 8], ebx
jmp 0x10005da3
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x4c], 0xde0b4074
inc dword [ebp - 8]
cmp dword [ebp - 8], edx
jl 0x10005d95
inc dword [ebp - 4]
mov dword [ebp - 4], ebx
jmp 0x10005dc1
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + eax*4 - 0x4c]
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x4c], ecx
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jle 0x10005db0
movzx eax, byte [ebp - 9]
add eax, 4
mov dword [ebp - 4], 0x256915a
mov dword [ebp - 0x10], eax
mov dword [ebp - 8], ebx
jmp 0x10005de9
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xbc], edx
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x10005ddc
mov dword [ebp - 4], edx
cmp dword [ebp - 4], ebx
jl 0x10005e13
mov byte [ebp - 9], bl
cmp byte [ebp - 9], bl
je 0x10005e0b
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetFocus]
dec dword [ebp - 4]
jns 0x10005df6
push 2
pop edx
mov dword [ebp - 4], ebx
jmp 0x10005e2c
mov byte [ebp - 9], bl
cmp byte [ebp - 9], bl
je 0x10005e29
call dword [sym.imp.USER32.dll_DestroyCaret]
push 2
pop edx
inc dword [ebp - 4]
cmp dword [ebp - 4], edx
jle 0x10005e18
movzx eax, byte [ebp - 0x19]
mov ecx, dword [ebp - 0x10]
add eax, 0x18
add eax, ecx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x14]
mov edx, dword [ecx + eax]
mov ecx, dword [ecx + eax + 0x14]
call fcn.10005c42
mov dword [ebp - 4], 9
mov dword [ebp - 0x20], 0x29b8
mov dword [ebp - 0x28], eax
mov dword [ebp - 4], 0xffffffec
jmp 0x10005e8e
mov dword [ebp - 0x20], 0x69ae
mov byte [ebp - 9], bl
cmp byte [ebp - 9], bl
je 0x10005e85
push 0x24d8
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
mov eax, dword [ebp - 4]
mov dword [ebp - 0x20], eax
inc dword [ebp - 4]
cmp dword [ebp - 4], 0x10
jle 0x10005e69
mov dword [ebp - 4], ebx
jmp 0x10005ed4
mov dword [ebp - 0x20], 0x76c51653
mov dword [ebp - 8], ebx
jmp 0x10005eb3
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x7c], 0xa7084bc9
inc dword [ebp - 8]
cmp dword [ebp - 8], 4
jl 0x10005ea5
mov dword [ebp - 0x74], edi
cmp dword [ebp - 0x20], ebx
jne 0x10005eca
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x74]
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x20], 0xf928d9ba
inc dword [ebp - 4]
cmp dword [ebp - 4], 0x1d
jle 0x10005e99
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x18], 0x1cb6
mov dword [ebp - 0x18], 0xccae
mov dword [ebp - 8], 0xffffffff
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x20], eax
mov dword [ebp - 4], ebx
jmp 0x10005f11
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x24], ebx
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x10005f07
mov dword [ebp - 4], ebx
jmp 0x10005f2c
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xb0], 0x45fe46c2
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x10005f1b
mov eax, dword [ebp - 0x24]
imul ecx, eax, 0xf390
mov eax, dword [ebp - 0x18]
dec dword [ebp - 0x18]
cmp eax, ecx
mov ecx, dword [ebp - 8]
mov eax, edi
cmovne eax, ebx
xor edx, edx
add ecx, eax
mov eax, dword [ebp - 0x24]
imul ecx, eax
mov eax, dword [ebp - 0x24]
cmp ecx, eax
sete dl
mov dword [ebp - 0xa8], edx
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x24]
neg eax
sbb eax, eax
inc eax
sub eax, edx
jne 0x10005f79
mov eax, ebx
cmp dword [ebp - 0x24], ebx
je 0x10005f7b
mov eax, edi
mov ecx, 0xffff
cmp ecx, eax
mov eax, dword [ebp - 0x24]
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setne cl
mov dword [ebp - 0x18], ecx
mov byte [ebp - 9], bl
cmp byte [ebp - 9], bl
je 0x10005fb4
push 0x1db1
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetTextAlign]
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x28]
mov dword [eax], ecx
mov dword [ebp - 8], edi
mov byte [ebp - 9], bl
cmp byte [ebp - 9], bl
je 0x10005fcd
call dword [sym.imp.USER32.dll_GetDoubleClickTime]
mov dword [ebp - 8], 7
cmp dword [ebp - 8], 0xffffffef
jne 0x1000602b
mov dword [ebp - 0x18], ebx
mov dword [ebp - 4], ebx
jmp 0x10005ff3
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x98], 0xffffffff
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x10005fe2
mov ecx, dword [ebp - 8]
xor edx, edx
mov eax, dword [ebp - 8]
cmp ecx, eax
mov eax, dword [ebp - 0x90]
setne dl
xor ebx, ebx
cmp eax, edx
mov eax, dword [ebp - 8]
push 0
setle bl
xor ecx, ecx
cmp ebx, eax
pop ebx
setge cl
mov dword [ebp - 0x18], ecx
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xffffffef
je 0x10005fda
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x28]
mov edi, dword [ebp - 0x14]
shr eax, 2
inc eax
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x28], eax
mov eax, dword [ecx + edi]
mov dword [ebp - 0x5c], eax
mov eax, dword [ecx + edi + 4]
mov dword [ebp - 0x58], eax
mov eax, dword [ecx + edi + 8]
mov dword [ebp - 0x54], eax
mov eax, dword [ecx + edi + 0xc]
mov dword [ebp - 0x50], eax
je 0x100062af
sub edi, dword [ebp - 0x20]
mov dword [ebp - 0x18], 0x838a1f94
mov dword [ebp - 4], 0x9ac70c30
mov dword [ebp - 8], 0xd76270e7
mov dword [ebp - 0x14], ebx
jmp 0x1000608a
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x3c], 0xab6d
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1000607c
mov eax, dword [ebp - 0x18]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], ebx
jne 0x10006109
mov eax, dword [ebp - 4]
xor ecx, ecx
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
test eax, eax
setle cl
xor eax, eax
cmp ecx, 0xfffffffa
setne al
xor ecx, ecx
add eax, 9
mov dword [ebp - 8], eax
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x3c]
neg edx
cmp edx, eax
setg cl
mov dword [ebp - 4], ecx
cmp dword [ebp - 4], ebx
je 0x100060de
cmp dword [ebp - 8], ebx
jne 0x10006109
mov dword [ebp - 0x14], 0xfffffff6
xor edx, edx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 8]
cmp eax, ecx
setle dl
mov dword [ebp - 8], edx
jmp 0x10006143
mov byte [ebp - 9], bl
cmp byte [ebp - 9], 0
je 0x10006143
push ebx
push 0x19ff
push 0x1d44
push 0x1b71
push 0x26fa
push 0x210d
push 0x244a
push 0x1271
push 0x1429
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_AllocateAndInitializeSid]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
and edx, esi
mov ecx, dword [eax]
mov edx, dword [ebp + edx*4 - 0x5c]
call fcn.10005c42
mov ecx, dword [ebp - 0x20]
mov dword [ecx + edi], eax
add ecx, 4
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x10], eax
cmp eax, dword [ebp - 0x28]
jb 0x10006062
jmp 0x100062af
mov dword [ebp - 4], 0x87013dce
xor esi, esi
mov dword [ebp - 0x28], 0xe5c8a52b
push 3
mov dword [ebp - 8], 0xedb7758b
pop ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x14], esi
jmp 0x100061a7
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x34], 0x73ff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10006199
mov eax, dword [ebp - 4]
xor ecx, ecx
mov eax, dword [ebp - 4]
cmp eax, 0x304b
setge cl
mov dword [ebp - 4], ecx
mov dword [ebp - 4], 2
cmp dword [ebp - 4], esi
jl 0x100062a7
xor edi, edi
mov dword [ebp - 0x10], 0xbc25
mov dword [ebp - 0x20], 0xf89f
mov dword [ebp - 0x10], 0x36572186
mov dword [ebp - 0x10], 0x7f47
mov eax, dword [ebp - 4]
cmp dword [ebp + eax*4 - 0x34], esi
je 0x1000625b
mov eax, dword [ebp - 4]
xor ecx, ecx
mov eax, dword [ebp - 0x28]
cmp eax, 0x5a9cea44
setge cl
xor ebx, ebx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + eax*4 - 0x34]
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
mov eax, dword [ebp - 8]
sete bl
xor ecx, ecx
cmp eax, 0xfffffff6
mov eax, 0x9dc86695
setle cl
cmp eax, ecx
sbb eax, eax
xor edx, edx
inc eax
cmp ebx, eax
mov eax, dword [ebp - 4]
setge dl
xor ecx, ecx
neg edx
cmp edx, eax
setle cl
sub ecx, dword [ebp - 4]
imul eax, ecx, 0xcb44
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
je 0x10006256
mov eax, dword [ebp - 0x20]
lea ecx, [edi + 1]
jmp 0x1000625d
mov ecx, esi
mov eax, 0x677b
sub eax, ecx
xor ecx, ecx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
cmp eax, 0xffffffff
setg cl
mov dword [ebp - 0x10], ecx
mov dword [ebp - 8], 2
cmp dword [ebp - 8], esi
jl 0x1000629e
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + eax*4 - 0x34]
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x34], ecx
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0x34]
mov dword [ebp - 0x10], eax
dec dword [ebp - 8]
jns 0x10006281
dec dword [ebp - 4]
jns 0x100061d1
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x18]
mov dword [eax], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret