Function at 0x40d7b6
Capabilities:
Get disk information
Get graphical window text
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x404
push ebx
push esi
push edi
mov ebx, dword [ebp + 8]
mov dword [0x41fefc], ebx
push 0x65
push ebx
call sub.USER32.DLL_GetDlgItem
push 0x104
push 0x41ff04
push eax
call sub.USER32.DLL_GetWindowTextA
push 0x1f7
push ebx
call sub.USER32.DLL_GetDlgItem
push 0
push 0
push 0xf0
push eax
call sub.USER32.DLL_SendMessageA
or eax, eax
je 0x40d805
xor edi, edi
jmp 0x40d84d
push 0x1f5
push ebx
call sub.USER32.DLL_GetDlgItem
push 0
push 0
push 0xf0
push eax
call sub.USER32.DLL_SendMessageA
or eax, eax
je 0x40d82a
mov edi, 8
jmp 0x40d84d
push 0x1f6
push ebx
call sub.USER32.DLL_GetDlgItem
push 0
push 0
push 0xf0
push eax
call sub.USER32.DLL_SendMessageA
or eax, eax
je 0x40d84d
mov edi, 0x10
mov eax, dword [0x420318]
cmp byte [eax + 0x226], 0
je 0x40d883
push 0x12d
push ebx
call sub.USER32.DLL_GetDlgItem
push 0
push 0
push 0x190
push eax
call sub.USER32.DLL_SendMessageA
mov esi, eax
or esi, esi
jne 0x40d883
xor eax, eax
inc eax
jmp 0x40dcca
push 0x41ff04
call fcn.00411158
push 0x41ff04
call fcn.00411494
add esp, 8
or eax, eax
jne 0x40d8f8
lea ecx, [0x41ff04]
or eax, 0xffffffff
inc eax
cmp byte [ecx + eax], 0
jne 0x40d8a7
mov byte [eax + 0x41ff04], 0x5c
lea ecx, [0x41ff04]
or eax, 0xffffffff
inc eax
cmp byte [ecx + eax], 0
jne 0x40d8bf
cmp eax, 3
ja 0x40d8da
push 0x41ff04
call sub.KERNEL32.DLL_GetDriveTypeA
cmp eax, 1
jne 0x40d8f8
push 0x10
mov eax, dword [0x420318]
add eax, 0x10
push eax
push dword [0x4131b8]
push ebx
call sub.USER32.DLL_MessageBoxA
xor eax, eax
jmp 0x40dcca
lea ecx, [0x41ff04]
or eax, 0xffffffff
inc eax
cmp byte [ecx + eax], 0
jne 0x40d901
cmp byte [eax + 0x41ff03], 0x5c
je 0x40d924
push 0x421717
push 0x41ff04
call sub.CRTDLL.DLL_strcat
add esp, 8
xor esi, esi
mov eax, dword [0x41fef8]
mov ecx, eax
or eax, 0xffffffff
inc eax
cmp byte [ecx + eax], 0
jne 0x40d930
add eax, 1
push eax
call sub.CRTDLL.DLL_malloc
add esp, 4
mov dword [ebp + esi*4 - 0x3fc], eax
push dword [0x41fef8]
mov edx, esi
mov esi, edx
add esi, 1
push dword [ebp + edx*4 - 0x3fc]
call fcn.00411b78
mov eax, dword [ebp - 0x3fc]
mov dword [0x41f9e8], eax
call fcn.00407ea7
mov dword [0x41f9f0], eax
push dword [ebp - 0x3fc]
call fcn.00411217
add esp, 4
mov dword [ebp + esi*4 - 0x3fc], 0
cmp edi, 8
jne 0x40d99e
inc dword [0x413248]
jmp 0x40d9ad
cmp edi, 0x10
jne 0x40d9ad
mov dword [0x413244], 1
inc dword [0x41324c]
push 0x41ff04
call fcn.00411217
add esp, 4
lea eax, [0x41ff04]
mov dword [0x413218], eax
mov dword [0x41fee4], 0
mov dword [0x420328], 0xff
mov dword [0x42032c], 0
push 0
push 0x40b186
push dword [0x41fefc]
push str.EXTRACTING
push dword [0x41fee8]
call sub.USER32.DLL_CreateDialogParamA
mov dword [0x420324], eax
mov eax, dword [0x420318]
cmp byte [eax + 0x22e], 0
je 0x40da28
push 5
push dword [0x420324]
call sub.USER32.DLL_ShowWindow
jmp 0x40da35
push 0
push dword [0x420324]
call sub.USER32.DLL_ShowWindow
xor eax, eax
mov dword [0x41feec], eax
mov eax, dword [0x420318]
cmp byte [eax + 0x226], 0
je 0x40da56
mov dword [0x413288], 0
jmp 0x40da60
mov dword [0x413288], 1
mov dword [0x413280], 0
mov dword [0x413284], 0
lea eax, [ebp - 0x3fc]
mov dword [0x4132ac], eax
mov dword [0x413290], 1
call fcn.00402ecc
mov dword [ebp - 0x400], eax
push dword [0x420324]
call sub.USER32.DLL_DestroyWindow
cmp dword [0x41feec], 0
je 0x40dab2
mov dword [ebp - 0x400], 0xdd
mov eax, dword [ebp - 0x400]
mov dword [ebp - 0x404], eax
cmp eax, 0x32
je 0x40dbec
cmp eax, 0x33
je case.0x40dae1.2
jg 0x40dae8
mov edx, eax
or edx, edx
jl case.default.0x40dae1
cmp edx, 0xa
jg case.default.0x40dae1
jmp dword [edx*4 + 0x4216d0]
mov eax, dword [ebp - 0x404]
cmp eax, 0x52
je 0x40dc25
jl case.default.0x40dae1
cmp eax, 0xdc
je 0x40dc5b
cmp eax, 0xdd
je case.0x40dae1.0
jmp case.default.0x40dae1
mov eax, dword [0x420318]
cmp byte [eax + 0x228], 0
jne case.0x40dae1.0
push 0x10
add eax, 0x10
push eax
push dword [0x4131e0]
push ebx
call sub.USER32.DLL_MessageBoxA
jmp case.0x40dae1.0
push dword [0x4131e0]
push dword [0x413194]
push 0x421705
push 0x420014
call sub.CRTDLL.DLL_sprintf
add esp, 0x10
push 0x10
mov eax, dword [0x420318]
add eax, 0x10
push eax
push 0x420014
push ebx
call sub.USER32.DLL_MessageBoxA
jmp case.0x40dae1.0
push dword [0x4131e0]
push dword [0x4131e4]
push 0x4216fc
push 0x420014
call sub.CRTDLL.DLL_sprintf
add esp, 0x10
push 0x10
mov eax, dword [0x420318]
add eax, 0x10
push eax
push 0x420014
push ebx
call sub.USER32.DLL_MessageBoxA
jmp case.0x40dae1.0
push dword [0x4131e0]
push dword [0x413140]
push 0x421705
push 0x420014
call sub.CRTDLL.DLL_sprintf
add esp, 0x10
push 0x10
mov eax, dword [0x420318]
add eax, 0x10
push eax
push 0x420014
push ebx
call sub.USER32.DLL_MessageBoxA
jmp case.0x40dae1.0
push dword [0x4131e0]
push dword [0x4131b8]
push 0x421705
push 0x420014
call sub.CRTDLL.DLL_sprintf
add esp, 0x10
push 0x10
mov eax, dword [0x420318]
add eax, 0x10
push eax
push 0x420014
push ebx
call sub.USER32.DLL_MessageBoxA
jmp case.0x40dae1.0
push dword [0x4131e0]
push dword [0x413214]
push 0x421705
push 0x420014
call sub.CRTDLL.DLL_sprintf
add esp, 0x10
push 0x10
mov eax, dword [0x420318]
add eax, 0x10
push eax
push 0x420014
push ebx
call sub.USER32.DLL_MessageBoxA
jmp case.0x40dae1.0
push dword [0x4131e0]
push dword [0x413190]
push 0x421705
push 0x420014
call sub.CRTDLL.DLL_sprintf
add esp, 0x10
push 0x10
mov eax, dword [0x420318]
add eax, 0x10
push eax
push 0x420014
push ebx
call sub.USER32.DLL_MessageBoxA
jmp case.0x40dae1.0
push 0x10
mov eax, dword [0x420318]
add eax, 0x10
push eax
push dword [0x4131e0]
push ebx
call sub.USER32.DLL_MessageBoxA
xor edi, edi
jmp 0x40dcba
push dword [ebp + edi*4 - 0x3fc]
call sub.CRTDLL.DLL_free
pop ecx
inc edi
cmp edi, esi
jl 0x40dcac
xor eax, eax
cmp dword [ebp - 0x400], 0
sete al
pop edi
pop esi
pop ebx
leave
ret