Function at 0x417b21
Capabilities:
Get disk information

Disassembly:
push 0x30
mov eax, 0x4381bb
call fcn.004220d8
mov esi, ecx
xor edi, edi
inc edi
test byte [0x44c38c], 1
jne 0x417b63
or dword [0x44c38c], edi
and dword [ebp - 4], 0
push str.CApplicationLicense::VerifyChecksum
mov ecx, 0x44c370
call fcn.00402035
push 0x43a204
call fcn.00423381
or dword [ebp - 4], 0xffffffff
pop ecx
push edi
mov ecx, esi
call fcn.004171c6
mov dword [esi + 0x1ae0], eax
push 0
lea eax, [ebp - 0x28]
push eax
mov ecx, esi
call fcn.00416f81
lea eax, [ebp - 0x28]
lea ecx, [esi + 0x1b88]
push eax
mov dword [ebp - 4], edi
call fcn.00414744
test al, al
je 0x417baa
push dword [ebp - 0x28]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, edi
lea esp, [ebp - 0x4c]
call fcn.0042215b
ret 4
push edi
lea eax, [ebp - 0x14]
push eax
mov ecx, esi
call fcn.00416f81
push eax
lea ecx, [ebp - 0x28]
call fcn.0041471e
push dword [ebp - 0x14]
mov ebx, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call ebx
lea eax, [ebp - 0x28]
push eax
lea ecx, [esi + 0x1b88]
call fcn.00414744
test al, al
je 0x417be8
mov esi, edi
push dword [ebp - 0x28]
call ebx
mov eax, esi
jmp 0x417b9f
push dword [esi + 0x1b88]
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
jne 0x417c03
and dword [esi + 0x1aec], 0
xor esi, esi
jmp 0x417bdf
xor eax, eax
push eax
push eax
push eax
push eax
lea ecx, [ebp - 0x30]
push ecx
push eax
push eax
push 0x43c940
mov dword [ebp - 0x30], eax
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationA]
mov eax, dword [esi + 0x1ae0]
cmp eax, dword [ebp - 0x30]
lea eax, [esi + 0x1b84]
mov ecx, esi
push eax
jne 0x417d78
call fcn.00416806
and eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x30]
jne 0x417c78
push dword [esi + 0x1ae0]
lea eax, [ebp - 0x14]
push eax
mov ecx, esi
call fcn.00416e5a
lea eax, [ebp - 0x14]
push eax
lea ecx, [esi + 0x1b88]
call fcn.00414744
push dword [ebp - 0x14]
test al, al
je 0x417c76
mov dword [esi + 0x1aec], edi
call ebx
jmp 0x417bdd
call ebx
mov eax, dword [0x44a014]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x20]
push eax
mov ecx, esi
mov byte [ebp - 4], 2
call fcn.00414faf
mov edi, dword [eax]
mov byte [ebp - 4], 3
test edi, edi
je 0x417ca8
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x417cac
xor eax, eax
jmp 0x417cc8
lea ebx, [eax + eax]
mov eax, ebx
call fcn.004230b0
mov eax, esp
push 3
push ebx
push edi
push eax
call fcn.0040590f
mov ebx, dword [sym.imp.OLEAUT32.dll_SysStringLen]
push eax
push 0
lea eax, [ebp - 0x24]
push 0xf964
push eax
call fcn.0041d194
add esp, 0x10
push dword [eax]
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 4
call fcn.00401adf
lea ecx, [ebp - 0x24]
call fcn.0040147e
push dword [ebp - 0x20]
mov byte [ebp - 4], 2
call ebx
push 0x43c458
push str._CR_
lea ecx, [ebp - 0x18]
call fcn.0040a425
cmp byte [ebp + 8], 1
jne 0x417d3d
push 0
lea eax, [ebp - 0x20]
push 0x30d4
push eax
call fcn.0041d112
add esp, 0xc
push 0x30
push dword [eax]
push dword [ebp - 0x18]
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [ebp - 0x20]
call fcn.0040147e
cmp dword [0x44c384], 0x10
mov eax, dword [0x44c370]
jae 0x417d50
mov eax, 0x44c370
push dword [ebp - 0x18]
push eax
push str._s___Error__s_
call fcn.00402064
add esp, 0xc
lea ecx, [ebp - 0x18]
mov dword [esi + 0x1af0], 1
call fcn.0040147e
jmp 0x417bf8
call fcn.00416806
mov dword [ebp - 0x20], eax
mov eax, dword [esi + 0x1ad4]
test eax, eax
jne 0x417db2
push 8
call fcn.00421b71
pop ecx
mov dword [ebp - 0x2c], eax
mov byte [ebp - 4], 5
test eax, eax
je 0x417da6
mov ecx, eax
call fcn.0041dd3f
jmp 0x417da8
xor eax, eax
mov byte [ebp - 4], 1
mov dword [esi + 0x1ad4], eax
push ecx
mov dword [ebp - 0x2c], esp
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x2c], esp
call fcn.004159b1
mov ecx, dword [esi + 0x1ad4]
mov byte [ebp - 4], 6
test ecx, ecx
je 0x417dd8
lea eax, [ebp - 0x3c]
push eax
call fcn.0041e2ec
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x3c]
and dword [ebp - 0x14], 0
mov edi, dword [ecx]
mov dword [ebp - 0x24], eax
mov byte [ebp - 0x19], 0
test eax, eax
jle 0x417e3a
mov eax, edi
mov edi, dword [edi]
add eax, 8
push eax
mov ecx, esi
call fcn.004170e8
cmp eax, dword [ebp - 0x20]
jne 0x417e27
push eax
lea eax, [ebp - 0x18]
push eax
mov ecx, esi
call fcn.00416e5a
lea eax, [ebp - 0x18]
push eax
lea ecx, [esi + 0x1b88]
call fcn.00414744
push dword [ebp - 0x18]
test al, al
jne 0x417e34
call ebx
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x24]
jl 0x417def
jmp 0x417e3a
mov byte [ebp - 0x19], 1
call ebx
lea ecx, [ebp - 0x3c]
call fcn.00419864
cmp byte [ebp - 0x19], 0
je 0x417e67
xor edi, edi
inc edi
lea ecx, [ebp - 0x3c]
mov dword [esi + 0x1aec], edi
call fcn.00419864
push dword [ebp - 0x3c]
call fcn.00420fc1
pop ecx
jmp 0x417bdd
lea eax, [ebp - 0x24]
push eax
mov ecx, esi
call fcn.00414faf
mov edi, dword [eax]
mov byte [ebp - 4], 7
test edi, edi
je 0x417e8b
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x417e8f
xor eax, eax
jmp 0x417eab
lea ebx, [eax + eax]
mov eax, ebx
call fcn.004230b0
mov eax, esp
push 3
push ebx
push edi
push eax
call fcn.0040590f
mov ebx, dword [sym.imp.OLEAUT32.dll_SysStringLen]
push eax
push 0
lea eax, [ebp - 0x20]
push 0xf965
push eax
call fcn.0041d194
add esp, 0x10
push dword [eax]
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 8
call fcn.00401d7c
lea ecx, [ebp - 0x20]
call fcn.0040147e
push dword [ebp - 0x24]
mov byte [ebp - 4], 0xb
call ebx
push 0x43c00c
push str._CR_
lea ecx, [ebp - 0x18]
call fcn.0040a425
cmp byte [ebp + 8], 1
jne 0x417f21
push 0
lea eax, [ebp - 0x14]
push 0x30d4
push eax
call fcn.0041d112
mov eax, dword [eax]
add esp, 0xc
push 0x30
push eax
push dword [ebp - 0x18]
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [ebp - 0x14]
call fcn.0040147e
mov ebx, dword [esi + 0x1b84]
test ebx, ebx
je 0x417f3a
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x417f40
and dword [ebp - 0x14], 0
jmp 0x417f59
lea edi, [eax + eax]
mov eax, edi
call fcn.004230b0
mov eax, esp
push 3
push edi
push ebx
push eax
call fcn.0040590f
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x2c]
push eax
mov ecx, esi
call fcn.00414faf
mov ebx, dword [eax]
mov byte [ebp - 4], 0xc
test ebx, ebx
je 0x417f7d
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x417f81
xor eax, eax
jmp 0x417f97
lea edi, [eax + eax]
mov eax, edi
call fcn.004230b0
mov eax, esp
push 3
push edi
push ebx
push eax
call fcn.0040590f
cmp dword [0x44c384], 0x10
mov ecx, dword [0x44c370]
jae 0x417fab
mov ecx, 0x44c370
push dword [ebp - 0x14]
push dword [esi + 0x1ae0]
push eax
push ecx
push str._s___Could_not_verify__s_LockCode._m_dwVSN_lx_m_bstrLock__s_
call fcn.00402064
add esp, 0x14
push dword [ebp - 0x2c]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
lea ecx, [ebp - 0x18]
mov dword [esi + 0x1af0], 1
call fcn.0040147e
lea ecx, [ebp - 0x3c]
call fcn.00419864
push dword [ebp - 0x3c]
call fcn.00420fc1
mov ebx, dword [sym.imp.OLEAUT32.dll_SysStringLen]
pop ecx
jmp 0x417bf8