Function at 0x41b2b1
Capabilities:
Check os version

Disassembly:
push 0x158
mov eax, 0x59d146
call fcn.005693c7
mov eax, dword [ebp + 8]
xor edi, edi
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp + 0xc]
push 0x118
mov dword [ebp - 0x160], eax
lea eax, [ebp - 0x140]
push edi
push eax
mov dword [ebp - 0x144], 0x11c
call fcn.0056f390
add esp, 0xc
call fcn.0042ad4e
add byte [ebx + 0x56e80cc4], al
cli
add byte [eax], al
test al, al
je 0x41b319
mov byte [0x6ea065ba], al
int3
call fcn.0042ae62
test al, al
je 0x41b342
or byte [ebx], 0xed
and eax, 0xde5cc69e
dec ebp
movsb byte es:[edi], byte [esi]
ja 0x41b338
cmp dword [edx], edx
inc ecx
jmp 0x41b2ef
mov bh, 0x1e
inc esp
xchg esi, eax
test eax, 0xff337436
lea eax, [ebp - 0x144]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
push edi
xor eax, eax
mov dword [ebp - 0x14], 7
push 0x5a06d8
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], edi
mov word [ebp - 0x28], ax
call fcn.00403772
mov eax, dword [ebp - 0x138]
mov ebx, dword [ebp - 0x140]
mov dword [ebp - 0x164], eax
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 4], edi
mov dword [ebp - 0x154], edi
mov dword [ebp - 0x150], edi
mov dword [ebp - 0x148], edi
mov dword [ebp - 0x14c], ebx
mov dword [ebp - 0x158], eax
call fcn.0042aeec
test al, al
je 0x41b3c5
out dx, eax
ficomp dword [esi + edx*8 + 0x73cce632]
push cs
rcr byte [ebx], 1
sahf
cmc
sub dword [edx - 0x13], esi
mov ebx, dword [ebp - 0x14c]
push str.ntdll.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
test esi, esi
je 0x41b411
push 0x5a3e08
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x41b40a
lea ecx, [ebp - 0x148]
push ecx
lea ecx, [ebp - 0x150]
push ecx
lea ecx, [ebp - 0x154]
push ecx
call eax
movzx eax, word [ebp - 0x148]
mov dword [ebp - 0x148], eax
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
call fcn.0042ac7f
test al, al
je 0x41b42e
inc ebp
fcmovnb st(0), st(4)
pop edx
xchg esp, eax
sub edi, 0x29de3f50
cwde
jb 0x41b474
imul ebx, dword [edi + 0x52], 0x33
dec dword [ebx - 0x15b73]
jmp [ecx - 0x3d]
mov ecx, dword [ebp - 0x15c]
imul eax, ebx, 0xff
push edi
push 1
add eax, dword [ebp - 0x158]
mov dword [ecx], eax
mov eax, dword [ebp - 0x160]
mov ecx, dword [ebp - 0x164]
mov dword [eax], ecx
lea ecx, [ebp - 0x28]
call fcn.00403628
call fcn.00569382
ret
test al, 0xfe
invalid
add byte [ebx - 0x38a7610], cl
test esi, esi
jne 0x41b48d
call fcn.0041b7a3
neg eax
sbb eax, eax
inc eax
jmp 0x41b549
call fcn.0042aa12
test al, al
je 0x41b4b5
mov esp, 0xa50fb796
jl 0x41b43f
fnstsw word [ecx + esi*2 + 0x55]
or bh, byte [eax + 0x40b67dd7]
pop esp
dec edi
add ebx, ebx
lodsd eax, dword [esi]
mov dl, 0x3a
loope 0x41b50e
mov esi, 0x8768d659
push str.GetNativeSystemInfo
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea ecx, [ebp - 0x28]
push ecx
call eax
call fcn.0042acc4
test al, al
je 0x41b4e7
sub dword [ebx + 0x77], 0xb0342e58
sbb edx, dword [edx + 0x713213bb]
xlatb
sub eax, 0x72bdc14c
pushfd
enter 0x518c, 0xffffffffffffffe8
imul esi, ebp, 0
add byte [eax + eax*8 + 0x3d451874], al
push edx
cmp eax, 0x2dd54591
call fcn.0042aa57
test al, al
je 0x41b508
inc ebp
cmp eax, 0x45913d52
aad 0x2d
cmp al, 0x6f
mov edx, 0x2c654bda
cwde
dec ebx
sub al, 0x98
inc eax
fbld tbyte [ecx]
fisubr word [edx - 0x26]
push cs
call fcn.0042aae1
test al, al
je 0x41b529
sal byte [eax + ebx - 0x58], 0xb7
test al, 0xb7
or eax, 0x11
js 0x41b58a
or ebx, edx
test dword [ecx], eax
out dx, al
jae 0x41b4fd
imul edi, dword [ebx + 0x238380ac], 0x15eb6a9c
cmp word [ebp - 0x28], 9
je 0x41b53b
cmp word [ebp - 0x28], 6
je 0x41b53b
xor esi, esi
jmp 0x41b53e
xor esi, esi
inc esi
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
je 0x41b5a3
aad 0xb4
inc esp
imul ecx, eax, 0x30fc59cc
mov esp, 0x2d9b2c86
jbe 0x41b602
pop ss
or edi, dword [edx + 6]
inc ebx
lodsd eax, dword [esi]
call fcn.0042aa57
test al, al
je 0x41b5c4
clc
sahf
sar dword [esi], 0xe
fsubr qword [esi]
sub bl, dl
push 0x7b353c70
push es
fdivr qword [eax + 0x6b66ac00]
insd dword es:[edi], dx
xor esi, dword [edx]
call fcn.0042aae1
test al, al
je 0x41b5e5
inc eax
mov bl, 0x97
invalid
lea eax, [ebp - 0x120]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [ebp - 0x11c], 6
jne 0x41b615
xor eax, eax
inc eax
cmp dword [ebp - 0x118], 0
je 0x41b60f
invalid
cmp dword [ebp - 0x118], eax
jne 0x41b615
cmp byte [ebp - 6], 1
je 0x41b674
call fcn.0042ad4e
test al, al
je 0x41b639
ret 0xad7f
call fcn.0042abb0
test al, al
je 0x41b657
dec ebx
mov dword [ebx], ebx
cmc
aam 0xfe
or byte [ebp - 0x1cc171ea], dh
rol byte [eax], 1
test dword [ecx], eax
mov ah, 0x68
or dword [edx], ecx
aaa
call fcn.0042ad09
test al, al
je 0x41b672
dec esi
xor dword [ecx + 0x401ff83d], ebp
ftst
inc eax
sti
and bh, dl
cmpsd dword [esi], dword es:[edi]
mov bh, 0xc6
test dl, bl
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0056935c
mov esp, ebp
pop ebp
ret