Function at 0x41b200
Capabilities:
Check os version
Get system information on windows

Disassembly:
sub esp, 0x164
mov eax, dword [0x44405c]
xor eax, esp
mov dword [esp + 0x15c], eax
push ebx
push esi
push 0x430ee8
mov eax, edi
call fcn.0040c770
push 0x11c
lea eax, [esp + 0x44]
push 0
push eax
call fcn.004243d0
add esp, 0xc
lea ecx, [esp + 0x40]
push ecx
mov dword [esp + 0x44], 0x11c
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
mov ebx, dword [esp + 0x44]
lea esi, [esp + 0xc]
call fcn.0040c270
push ebx
push 0x43169c
mov eax, esi
call fcn.0040c410
mov esi, dword [esp + 0x14]
add esp, 8
push esi
or eax, 0xffffffff
mov ecx, edi
call fcn.0040c970
test esi, esi
je 0x41b286
mov edx, dword [esp + 0x18]
push edx
call fcn.00408b50
add esp, 4
mov ebx, 0x431570
mov eax, edi
call fcn.0040c8b0
mov ebx, dword [esp + 0x48]
lea esi, [esp + 0xc]
call fcn.0040c270
push ebx
push 0x43169c
mov eax, esi
call fcn.0040c410
mov esi, dword [esp + 0x14]
add esp, 8
push esi
or eax, 0xffffffff
mov ecx, edi
call fcn.0040c970
test esi, esi
je 0x41b2cf
mov eax, dword [esp + 0x18]
push eax
call fcn.00408b50
add esp, 4
mov ebx, 0x431570
mov eax, edi
call fcn.0040c8b0
mov ebx, dword [esp + 0x4c]
lea esi, [esp + 0xc]
call fcn.0040c270
push ebx
push 0x43169c
mov eax, esi
call fcn.0040c410
mov esi, dword [esp + 0x14]
add esp, 8
push esi
or eax, 0xffffffff
mov ecx, edi
call fcn.0040c970
test esi, esi
je 0x41b318
mov ecx, dword [esp + 0x18]
push ecx
call fcn.00408b50
add esp, 4
mov ebx, 0x431570
mov eax, edi
call fcn.0040c8b0
mov ebx, dword [esp + 0x50]
lea esi, [esp + 0xc]
call fcn.0040c270
push ebx
push 0x43169c
mov eax, esi
call fcn.0040c410
mov esi, dword [esp + 0x14]
add esp, 8
push esi
or eax, 0xffffffff
mov ecx, edi
call fcn.0040c970
test esi, esi
je 0x41b361
mov edx, dword [esp + 0x18]
push edx
call fcn.00408b50
add esp, 4
mov ebx, 0x431570
mov eax, edi
call fcn.0040c8b0
movzx ebx, word [esp + 0x154]
lea esi, [esp + 0xc]
call fcn.0040c270
push ebx
push 0x43169c
mov eax, esi
call fcn.0040c410
mov esi, dword [esp + 0x14]
add esp, 8
push esi
or eax, 0xffffffff
mov ecx, edi
call fcn.0040c970
test esi, esi
je 0x41b3ae
mov eax, dword [esp + 0x18]
push eax
call fcn.00408b50
add esp, 4
mov ebx, 0x431570
mov eax, edi
call fcn.0040c8b0
movzx ebx, word [esp + 0x156]
lea esi, [esp + 0xc]
call fcn.0040c270
push ebx
push 0x43169c
mov eax, esi
call fcn.0040c410
mov esi, dword [esp + 0x14]
add esp, 8
push esi
or eax, 0xffffffff
mov ecx, edi
call fcn.0040c970
test esi, esi
je 0x41b3fb
mov ecx, dword [esp + 0x18]
push ecx
call fcn.00408b50
add esp, 4
mov ebx, 0x431570
mov eax, edi
call fcn.0040c8b0
movzx ebx, byte [esp + 0x15a]
lea esi, [esp + 0xc]
call fcn.0040c270
push ebx
push 0x43169c
mov eax, esi
call fcn.0040c410
mov esi, dword [esp + 0x14]
add esp, 8
push esi
or eax, 0xffffffff
mov ecx, edi
call fcn.0040c970
test esi, esi
je 0x41b448
mov edx, dword [esp + 0x18]
push edx
call fcn.00408b50
add esp, 4
mov ebx, 0x431570
mov eax, edi
call fcn.0040c8b0
lea eax, [esp + 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_GetNativeSystemInfo]
mov ax, word [esp + 0x1c]
cmp ax, 9
je 0x41b475
mov ebx, 0x433068
cmp ax, 6
jne 0x41b47a
mov ebx, 0x433060
mov eax, edi
call fcn.0040c8b0
mov ecx, dword [esp + 0x164]
pop esi
pop ebx
xor ecx, esp
call fcn.0041e30c
add esp, 0x164
ret