Function at 0x40d39b
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 0x40d3ea
xor edi, edi
jmp 0x40d432
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 0x40d40f
mov edi, 8
jmp 0x40d432
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 0x40d432
mov edi, 0x10
mov eax, dword [0x420318]
cmp byte [eax + 0x226], 0
je 0x40d468
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 0x40d468
xor eax, eax
inc eax
jmp 0x40d8af
push 0x41ff04
call fcn.00410d4c
push 0x41ff04
call fcn.00411088
add esp, 8
or eax, eax
jne 0x40d4dd
lea ecx, [0x41ff04]
or eax, 0xffffffff
inc eax
cmp byte [ecx + eax], 0
jne 0x40d48c
mov byte [eax + 0x41ff04], 0x5c
lea ecx, [0x41ff04]
or eax, 0xffffffff
inc eax
cmp byte [ecx + eax], 0
jne 0x40d4a4
cmp eax, 3
ja 0x40d4bf
push 0x41ff04
call sub.KERNEL32.DLL_GetDriveTypeA
cmp eax, 1
jne 0x40d4dd
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 0x40d8af
lea ecx, [0x41ff04]
or eax, 0xffffffff
inc eax
cmp byte [ecx + eax], 0
jne 0x40d4e6
cmp byte [eax + 0x41ff03], 0x5c
je 0x40d509
push 0x4216b7
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 0x40d515
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.00411ab4
mov eax, dword [ebp - 0x3fc]
mov dword [0x41f9e8], eax
call fcn.00407ea7
mov dword [0x41f9f0], eax
push dword [ebp - 0x3fc]
call fcn.00410e0b
add esp, 4
mov dword [ebp + esi*4 - 0x3fc], 0
cmp edi, 8
jne 0x40d583
inc dword [0x413248]
jmp 0x40d592
cmp edi, 0x10
jne 0x40d592
mov dword [0x413244], 1
inc dword [0x41324c]
push 0x41ff04
call fcn.00410e0b
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 0x40b1db
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 0x40d60d
push 5
push dword [0x420324]
call sub.USER32.DLL_ShowWindow
jmp 0x40d61a
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 0x40d63b
mov dword [0x413288], 0
jmp 0x40d645
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 0x40d697
mov dword [ebp - 0x400], 0xdd
mov eax, dword [ebp - 0x400]
mov dword [ebp - 0x404], eax
cmp eax, 0x32
je 0x40d7d1
cmp eax, 0x33
je case.0x40d6c6.2
jg 0x40d6cd
mov edx, eax
or edx, edx
jl case.default.0x40d6c6
cmp edx, 0xa
jg case.default.0x40d6c6
jmp dword [edx*4 + 0x421670]
mov eax, dword [ebp - 0x404]
cmp eax, 0x52
je 0x40d80a
jl case.default.0x40d6c6
cmp eax, 0xdc
je 0x40d840
cmp eax, 0xdd
je case.0x40d6c6.0
jmp case.default.0x40d6c6
mov eax, dword [0x420318]
cmp byte [eax + 0x228], 0
jne case.0x40d6c6.0
push 0x10
add eax, 0x10
push eax
push dword [0x4131e0]
push ebx
call sub.USER32.DLL_MessageBoxA
jmp case.0x40d6c6.0
push dword [0x4131e0]
push dword [0x413194]
push 0x4216a5
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.0x40d6c6.0
push dword [0x4131e0]
push dword [0x4131e4]
push 0x42169c
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.0x40d6c6.0
push dword [0x4131e0]
push dword [0x413140]
push 0x4216a5
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.0x40d6c6.0
push dword [0x4131e0]
push dword [0x4131b8]
push 0x4216a5
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.0x40d6c6.0
push dword [0x4131e0]
push dword [0x413214]
push 0x4216a5
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.0x40d6c6.0
push dword [0x4131e0]
push dword [0x413190]
push 0x4216a5
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.0x40d6c6.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 0x40d89f
push dword [ebp + edi*4 - 0x3fc]
call sub.CRTDLL.DLL_free
pop ecx
inc edi
cmp edi, esi
jl 0x40d891
xor eax, eax
cmp dword [ebp - 0x400], 0
sete al
pop edi
pop esi
pop ebx
leave
ret