Function at 0x43ff20
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xbc
mov eax, dword [0x70e00c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
lea eax, [ebp - 0xa8]
mov dword [ebp - 0xb8], ecx
push eax
mov dword [ebp - 0xa8], 0x9c
call dword [sym.imp.KERNEL32.DLL_GetVersionExA]
push 0x20000
call fcn.0060a1f7
mov esi, eax
add esp, 4
mov dword [ebp - 0xac], esi
test esi, esi
je 0x440315
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
add ecx, 0xffff0000
push 0
push 0x20000
push esi
adc eax, 0xffffffff
mov dword [ebp - 0xb4], ecx
push eax
push ecx
push 0
push 0
mov dword [ebp - 0xb0], eax
call dword [0x7171e8]
add esp, 0x1c
cmp eax, 0x20000
jne 0x4402f2
mov ecx, dword [0x73f478]
test ecx, ecx
je 0x4402f2
mov ebx, dword [ecx + 8]
xor edi, edi
mov dword [ecx + 4], 0
mov dl, byte [edi + esi]
test ebx, ebx
je 0x43fffb
mov esi, dword [ecx]
mov eax, dword [ecx + 4]
cmp dl, byte [esi + eax]
je 0x43ffea
mov eax, dword [ecx + 4]
test eax, eax
je 0x43fff5
mov eax, dword [ebx + eax*4]
mov dword [ecx + 4], eax
cmp dl, byte [eax + esi]
jne 0x43ffd8
inc dword [ecx + 4]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 0xc]
jge 0x44000f
mov esi, dword [ebp - 0xac]
inc edi
cmp edi, 0x20000
jl 0x43ffc7
mov edi, dword [ebp - 0xac]
jmp 0x4402f4
mov eax, dword [ebx + eax*4]
mov dword [ecx + 4], eax
lea eax, [edi + 1]
test eax, eax
js 0x440004
mov eax, dword [ebp - 0xb8]
push dword [eax + 0xc]
push dword [eax + 8]
call dword [0x7170c4]
mov eax, dword [0x72c7bc]
add esp, 8
mov edi, dword [ebp - 0xac]
cmp eax, 0x20
jne 0x44012f
push dword [ebp - 0xb0]
mov ecx, edi
push dword [ebp - 0xb4]
call fcn.0043f440
add esp, 8
mov esi, 2
test eax, eax
je 0x4400a8
xor ebx, ebx
mov edx, 0x6f0d18
test eax, eax
mov ecx, str.Voluminer
sets bl
add ebx, 3
push ebx
call fcn.0041cb10
add esp, 4
cmp dword [0x73f680], 1
je 0x4400a8
cmp ebx, 4
je 0x4400a8
mov eax, dword [0x71702c]
cmp eax, esi
mov dword [0x73f680], 1
cmovg eax, esi
mov dword [0x71702c], eax
push dword [ebp - 0xb0]
mov ecx, edi
push dword [ebp - 0xb4]
call fcn.0043f6e0
add esp, 8
test eax, eax
je 0x440107
xor ebx, ebx
mov edx, str.Voluminer_Filter
test eax, eax
mov ecx, str.Voluminer
sets bl
add ebx, 3
push ebx
call fcn.0041cb10
add esp, 4
cmp dword [0x73f680], 1
je 0x440107
cmp ebx, 4
je 0x440107
mov eax, dword [0x71702c]
cmp eax, 2
mov dword [0x73f680], 1
cmovg eax, esi
mov dword [0x71702c], eax
push dword [ebp - 0xb0]
mov ecx, edi
push dword [ebp - 0xb4]
call fcn.0043f970
add esp, 8
test eax, eax
je 0x4402d4
mov edx, str.Voluminer_Filter
jmp 0x440294
cmp eax, 0x40
jne 0x4402d4
push dword [ebp - 0xb0]
mov ecx, edi
push dword [ebp - 0xb4]
call fcn.0043f590
add esp, 8
mov esi, 2
test eax, eax
je 0x44019b
xor ebx, ebx
mov edx, 0x6f0d18
test eax, eax
mov ecx, str.Voluminer
sets bl
add ebx, 3
push ebx
call fcn.0041cb10
add esp, 4
cmp dword [0x73f680], 1
je 0x44019b
cmp ebx, 4
je 0x44019b
mov eax, dword [0x71702c]
cmp eax, esi
mov dword [0x73f680], 1
cmovg eax, esi
mov dword [0x71702c], eax
push dword [ebp - 0xb0]
mov ecx, edi
push dword [ebp - 0xb4]
call fcn.0043f830
add esp, 8
test eax, eax
je 0x4401fa
xor ebx, ebx
mov edx, str.Voluminer_Filter
test eax, eax
mov ecx, str.Voluminer
sets bl
add ebx, 3
push ebx
call fcn.0041cb10
add esp, 4
cmp dword [0x73f680], 1
je 0x4401fa
cmp ebx, 4
je 0x4401fa
mov eax, dword [0x71702c]
cmp eax, 2
mov dword [0x73f680], 1
cmovg eax, esi
mov dword [0x71702c], eax
push dword [ebp - 0xb0]
mov ecx, edi
push dword [ebp - 0xb4]
call fcn.0043fac0
add esp, 8
test eax, eax
je 0x440259
xor ebx, ebx
mov edx, str.Voluminer_Filter
test eax, eax
mov ecx, str.Voluminer
sets bl
add ebx, 3
push ebx
call fcn.0041cb10
add esp, 4
cmp dword [0x73f680], 1
je 0x440259
cmp ebx, 4
je 0x440259
mov eax, dword [0x71702c]
cmp eax, 2
mov dword [0x73f680], 1
cmovg eax, esi
mov dword [0x71702c], eax
cmp dword [ebp - 0xa4], 5
mov ecx, edi
push dword [ebp - 0xb0]
push dword [ebp - 0xb4]
jne 0x440283
call fcn.0043fc10
add esp, 8
test eax, eax
je 0x4402d4
mov edx, str.disk_Filter
jmp 0x440294
call fcn.0043fd50
add esp, 8
test eax, eax
je 0x4402d4
mov edx, str.Disk_Filter
xor ebx, ebx
mov ecx, str.Voluminer
test eax, eax
sets bl
add ebx, 3
push ebx
call fcn.0041cb10
add esp, 4
cmp dword [0x73f680], 1
je 0x4402d4
cmp ebx, 4
je 0x4402d4
mov eax, dword [0x71702c]
cmp eax, 2
mov dword [0x73f680], 1
cmovg eax, esi
mov dword [0x71702c], eax
push edi
xor esi, esi
call fcn.005fa0fb
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004aa758
mov esp, ebp
pop ebp
ret
mov edi, esi
push edi
mov esi, 0xfffffff2
call fcn.005fa0fb
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004aa758
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
mov eax, 0xfffffff2
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004aa758
mov esp, ebp
pop ebp
ret