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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x154
mov eax, dword [0x4ea00c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
xor ebx, ebx
push edi
mov dword [esi], ebx
mov dword [esi + 0x18], 3
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
call fcn.0044cece
push 0x118
mov byte [esi + 0x20], al
lea eax, [ebp - 0x11c]
push ebx
push eax
mov dword [esi + 0x24], ebx
mov dword [ebp - 0x120], 0x11c
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0x124], ebx
xor eax, eax
mov dword [ebp - 0x128], ebx
lea edi, [ebp - 0x154]
mov dword [ebp - 0x12c], ebx
mov dword [ebp - 0x130], ebx
push 9
pop ecx
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x120]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
mov edx, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x114]
mov dword [esi + 4], edx
mov dword [esi + 8], ecx
mov dword [esi + 0xc], eax
push 6
pop ebx
cmp edx, 5
jne 0x44cccb
test ecx, ecx
jle 0x44cced
xor eax, eax
cmp ecx, 1
setne al
inc eax
mov dword [esi], eax
jmp 0x44cced
cmp edx, ebx
jne 0x44cce9
sub ecx, 0
je 0x44cce1
sub ecx, 1
jne 0x44cced
mov dword [esi], 4
jmp 0x44cced
mov dword [esi], 3
jmp 0x44cced
jle 0x44cced
mov dword [esi], ebx
cmp dword [esi], 0
movzx eax, word [ebp - 0xc]
mov dword [esi + 0x10], eax
movzx eax, word [ebp - 0xa]
mov dword [esi + 0x14], eax
je 0x44cd08
cmp dword [esi], ebx
jne 0x44ce24
push ecx
lea eax, [ebp - 0x12c]
push eax
lea eax, [ebp - 0x128]
push eax
lea eax, [ebp - 0x124]
push eax
call fcn.0044cf8c
test eax, eax
jne 0x44ce24
mov edi, dword [ebp - 0x124]
mov ecx, 0x270f
mov edx, dword [ebp - 0x128]
mov eax, dword [ebp - 0x12c]
mov dword [esi + 4], edi
mov dword [esi + 8], edx
mov dword [esi + 0xc], eax
cmp edi, ebx
jne 0x44cd81
dec edx
sub edx, 1
je 0x44cd77
sub edx, 1
je 0x44cd6d
sub edx, 1
jne 0x44ce22
mov ecx, 0x384
jmp 0x44ce22
mov ecx, 0x321
jmp 0x44ce22
mov ecx, 0x320
jmp 0x44ce22
cmp edi, 0xa
jne 0x44ce22
mov edx, 0x42ee
cmp eax, edx
ja 0x44cde2
je 0x44cddb
cmp eax, 0x2800
je 0x44cdd4
cmp eax, 0x295a
je 0x44cdcd
cmp eax, 0x3839
je 0x44cdc6
cmp eax, 0x3ad7
je 0x44cdbf
cmp eax, 0x3fab
jne 0x44ce22
mov ecx, 0x3ec
jmp 0x44ce22
mov ecx, 0x3eb
jmp 0x44ce22
mov ecx, 0x3ea
jmp 0x44ce22
mov ecx, 0x3e9
jmp 0x44ce22
mov ecx, 0x3e8
jmp 0x44ce22
mov ecx, 0x3ed
jmp 0x44ce22
sub eax, 0x4563
je 0x44ce1d
sub eax, 0x257
je 0x44ce16
sub eax, 1
je 0x44ce0f
sub eax, 0x2a6
je 0x44ce08
sub eax, 1
jne 0x44ce22
mov ecx, 0x3f2
jmp 0x44ce22
mov ecx, 0x3f1
jmp 0x44ce22
mov ecx, 0x3f0
jmp 0x44ce22
mov ecx, 0x3ef
jmp 0x44ce22
mov ecx, 0x3ee
mov dword [esi], ecx
push str.GetNativeSystemInfo
push 0x4c3a04
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
jne 0x44ce4e
lea eax, [ebp - 0x154]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
jmp 0x44ce57
lea ecx, [ebp - 0x154]
push ecx
call eax
movzx eax, word [ebp - 0x154]
test eax, eax
je 0x44ce8b
cmp eax, ebx
je 0x44ce82
cmp eax, 9
je 0x44ce79
cmp eax, 0xc
jne 0x44ce8f
mov dword [esi + 0x18], 4
jmp 0x44ce8f
mov dword [esi + 0x18], 1
jmp 0x44ce8f
mov dword [esi + 0x18], 2
jmp 0x44ce8f
and dword [esi + 0x18], 0
mov eax, dword [ebp - 0x140]
mov ecx, esi
mov dword [esi + 0x1c], eax
call fcn.0044d144
lea eax, [ebp - 0x130]
mov ecx, esi
push eax
call fcn.0044d1d8
test eax, eax
jne 0x44ceba
mov ecx, dword [ebp - 0x130]
mov dword [esi + 0x24], ecx
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004a439a
leave
ret