Function at 0x408700
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x36c8
call fcn.0041ddb0
push esi
push edi
mov dword [esp + 0x10], 1
call fcn.0040e410
mov edi, dword [sym.imp.KERNEL32.dll_DeviceIoControl]
push 0
lea eax, [esp + 0x10]
push eax
mov eax, dword [0x4506d8]
push 0x3674
lea ecx, [esp + 0x64]
push ecx
push 0x3674
mov edx, ecx
push edx
push 0x72004
push eax
call edi
mov eax, dword [esp + 0x58]
test eax, eax
je 0x40898a
jmp 0x408760
mov edi, dword [sym.imp.KERNEL32.dll_DeviceIoControl]
nop
mov dword [esp + 0x14], eax
xor esi, esi
mov edx, 1
mov ecx, esi
shl edx, cl
test eax, edx
je 0x40878b
mov ecx, dword [0x450040]
test ecx, ecx
je 0x40878b
push esi
push ebx
call fcn.0040ecd0
mov eax, dword [esp + 0x60]
add esp, 8
inc esi
cmp esi, 0x1a
jl 0x408766
mov eax, dword [ebp + 8]
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], eax
push 0
lea ecx, [esp + 0x10]
push ecx
mov ecx, dword [0x4506d8]
push 0xc
lea edx, [esp + 0x24]
push edx
push 0xc
mov eax, edx
push eax
push 0x73fe8
push ecx
call edi
test eax, eax
je 0x40899a
cmp dword [esp + 0x20], 7
jne 0x4087e5
mov edx, dword [ebp + 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [ebp + 0x10]
dec eax
test eax, eax
mov dword [ebp + 0x10], eax
jg 0x4087a0
xor eax, eax
push eax
mov ecx, 0xd9d
lea edi, [esp + 0x5c]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x10]
push eax
mov eax, dword [0x4506d8]
push 0x3674
lea ecx, [esp + 0x64]
push ecx
push 0x3674
mov edx, ecx
push edx
push 0x72004
push eax
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov ecx, dword [esp + 0x58]
mov esi, dword [esp + 0x14]
not ecx
and ecx, esi
push ecx
push 0
push 0x8004
call fcn.00410000
add esp, 0xc
push 0x3ef
push ebx
call dword [sym.imp.USER32.dll_GetDlgItem]
push 0
push 0
mov esi, eax
push 0x1042
push esi
call dword [sym.imp.USER32.dll_SendMessageA]
mov edx, eax
mov eax, dword [0x450060]
test eax, eax
jl 0x408862
mov edx, eax
xor eax, eax
mov ecx, 0xd
lea edi, [esp + 0x24]
rep stosd dword es:[edi], eax
mov dword [esp + 0x28], edx
lea edx, [esp + 0x24]
push edx
push eax
push 0x1005
push esi
mov dword [esp + 0x34], 4
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
jne 0x408896
or esi, 0xffffffff
jmp 0x40889a
mov esi, dword [esp + 0x44]
mov eax, dword [0x466b80]
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
push eax
push 0x409
push ebx
call edi
push eax
call fcn.0040b300
mov ecx, esi
shr ecx, 0x10
add esp, 8
movsx edx, cl
push edx
push 0x3ef
push ebx
call edi
push eax
call fcn.00405bb0
push ebx
call fcn.004056c0
mov eax, dword [0x466b84]
add esp, 0xc
cmp eax, 7
jne 0x408905
mov eax, dword [0x466b94]
test eax, eax
je 0x408905
call fcn.00410280
test eax, eax
jne 0x408905
push eax
push 0x3ef
push ebx
call edi
push eax
call fcn.00405bb0
add esp, 8
call fcn.0040e3e0
mov eax, dword [esp + 0x20]
xor esi, esi
cmp eax, esi
je 0x4089dc
cmp dword [ebp + 8], esi
je 0x408921
mov dword [esp + 0x10], esi
cmp eax, 7
mov eax, dword [ebp + 0xc]
jne 0x4089b0
cmp eax, esi
mov dword [0x45a36c], esi
je 0x4089a8
push str.UNMOUNTALL_LOCK_FAILED
call fcn.00410b80
add esp, 4
cmp eax, 6
jne 0x4089a8
mov dword [ebp + 8], 1
call fcn.0040e410
push esi
lea eax, [esp + 0x10]
push eax
mov eax, dword [0x4506d8]
push 0x3674
lea ecx, [esp + 0x64]
push ecx
push 0x3674
mov edx, ecx
push edx
push 0x72004
push eax
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov eax, dword [esp + 0x58]
cmp eax, esi
jne 0x408759
call fcn.0040e3e0
mov eax, 1
pop edi
pop esi
mov esp, ebp
pop ebp
ret
call fcn.0040e3e0
push ebx
call fcn.00411070
add esp, 4
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp eax, esi
je 0x4089ec
mov ecx, dword [0x466b78]
push 0x10
push ecx
push str.UNMOUNT_FAILED
call fcn.00417ce0
add esp, 4
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
mov eax, dword [esp + 0x10]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp dword [0x45a30c], esi
je 0x4089ec
push 0xffffffffffffffff
call dword [sym.imp.USER32.dll_MessageBeep]
mov eax, dword [esp + 0x10]
pop edi
pop esi
mov esp, ebp
pop ebp
ret