Function at 0x443bd0
Capabilities:
Check os version

Disassembly:
sub esp, 0x94
push ebx
push ebp
push esi
lea eax, [esp + 0xc]
push edi
mov ebx, ecx
push eax
xor ebp, ebp
mov dword [esp + 0x14], 0x94
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
test eax, eax
je 0x443ecc
mov eax, dword [esp + 0x20]
sub eax, ebp
je 0x443eb7
dec eax
je 0x443e03
dec eax
jne 0x443ecc
mov esi, dword [esp + 0xa8]
xor ecx, ecx
mov eax, esi
and eax, 1
or eax, ecx
je 0x443c2a
mov ebp, 1
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0xac]
and eax, 0xffff
shl eax, 0x10
and ecx, 0xffff
or eax, ecx
cmp eax, 0x50002
ja 0x443c8d
cmp eax, 0x50002
je 0x443d48
cmp eax, 0x50000
ja 0x443c80
je 0x443d8c
cmp eax, 0x30033
je 0x443dd0
cmp eax, 0x40000
je 0x443dae
jmp case.default.0x443c97
cmp eax, 0x50001
je 0x443d6a
jmp case.default.0x443c97
add eax, 0xfffa0000
cmp eax, 3
ja case.default.0x443c97
jmp dword [eax*4 + 0x443edc]
mov eax, esi
xor ecx, ecx
and eax, 0x100000
or eax, ecx
je case.0x443c97.393219
push 0xa0000
push edi
lea edx, [esp + 0x18]
push esi
push edx
mov ecx, ebx
call fcn.00443b20
mov ebp, eax
mov eax, esi
xor ecx, ecx
and eax, 0x80000
or eax, ecx
je case.0x443c97.393218
push 0x60003
push edi
lea eax, [esp + 0x18]
push esi
push eax
mov ecx, ebx
call fcn.00443b20
mov ebp, eax
mov eax, esi
xor ecx, ecx
and eax, 0x40000
or eax, ecx
je case.0x443c97.393217
push 0x60002
push edi
lea ecx, [esp + 0x18]
push esi
push ecx
mov ecx, ebx
call fcn.00443b20
mov ebp, eax
mov eax, esi
xor ecx, ecx
and eax, 0x4000
or eax, ecx
je case.0x443c97.393216
push 0x60001
push edi
lea edx, [esp + 0x18]
push esi
push edx
mov ecx, ebx
call fcn.00443b20
mov ebp, eax
mov eax, esi
xor ecx, ecx
and eax, 0x2000
or eax, ecx
je 0x443d48
push 0x60000
push edi
lea eax, [esp + 0x18]
push esi
push eax
mov ecx, ebx
call fcn.00443b20
mov ebp, eax
mov eax, esi
xor ecx, ecx
and eax, 0x1000
or eax, ecx
je 0x443d6a
push 0x50002
push edi
lea ecx, [esp + 0x18]
push esi
push ecx
mov ecx, ebx
call fcn.00443b20
mov ebp, eax
mov eax, esi
xor ecx, ecx
and eax, 0x200
or eax, ecx
je 0x443d8c
push 0x50001
push edi
lea edx, [esp + 0x18]
push esi
push edx
mov ecx, ebx
call fcn.00443b20
mov ebp, eax
mov eax, esi
xor ecx, ecx
and eax, 0x100
or eax, ecx
je 0x443dae
push 0x50000
push edi
lea eax, [esp + 0x18]
push esi
push eax
mov ecx, ebx
call fcn.00443b20
mov ebp, eax
mov eax, esi
xor ecx, ecx
and eax, 0x80
or eax, ecx
je 0x443dd0
push 0x40000
push edi
lea ecx, [esp + 0x18]
push esi
push ecx
mov ecx, ebx
call fcn.00443b20
mov ebp, eax
mov eax, esi
xor ecx, ecx
and eax, 0x200000
or eax, ecx
je 0x443ecc
push 0x30033
push edi
lea edx, [esp + 0x18]
push esi
push edx
mov ecx, ebx
call fcn.00443b20
mov ebp, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret 8
mov eax, dword [esp + 0xa8]
xor edx, edx
mov ecx, eax
and ecx, 2
or ecx, edx
je 0x443e1a
mov ebp, 1
cmp dword [esp + 0x14], 4
jne 0x443ecc
mov ecx, dword [esp + 0x18]
mov bl, byte [esp + 0x25]
test ecx, ecx
je 0x443e71
cmp ecx, 0xa
je 0x443e49
mov ecx, eax
xor edx, edx
and ecx, 0xc70
or ecx, edx
je 0x443e49
mov ebp, 1
cmp bl, 0x41
mov ecx, eax
jne 0x443e63
and ecx, 0x820
xor edx, edx
or ecx, edx
je 0x443e7b
mov ebp, 1
jmp 0x443e7b
and ecx, 0x20
xor edx, edx
or ecx, edx
je 0x443e71
mov ebp, 1
cmp bl, 0x43
je 0x443e98
cmp bl, 0x42
je 0x443e98
and eax, 0x10
xor ecx, ecx
or eax, ecx
je 0x443ecc
mov ebp, 1
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
add esp, 0x94
ret 8
and eax, 0x410
xor ecx, ecx
or eax, ecx
je 0x443ecc
mov ebp, 1
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
add esp, 0x94
ret 8
mov eax, dword [esp + 0xa8]
xor ecx, ecx
and eax, 4
or eax, ecx
je 0x443ecc
mov ebp, 1
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
add esp, 0x94
ret 8