Function at 0x449eb4
Capabilities:
Get os information via kuser_shared_data

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x40
mov esi, dword [esp + 0x54]
mov dword [esp], 0xaa937b77
lea edi, [esi + 4]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp]
cmp eax, 0xf6c5cd5a
jle 0x449f2a
cmp eax, 0x3a09e3b3
jg 0x449f71
cmp eax, 0xa3fe075
jg 0x44a021
cmp eax, 0x6f0d1ec
jle 0x44a10e
cmp eax, 0x6f0d1ed
je 0x44a26e
cmp eax, 0x76d9ca6
je 0x44a2a4
cmp eax, 0x80ea686
jne 0x449ecd
imul eax, dword [esp + 8], 0x10c0
mov dword [esp + 8], eax
mov dword [esp], 0xe7dc6a3e
jmp 0x449ecd
cmp eax, 0xc71cd4c9
jle 0x449fe5
cmp eax, 0xe04cd1eb
jg 0x44a04e
cmp eax, 0xccb8bb13
jle 0x44a129
cmp eax, 0xccb8bb14
je 0x44a2c0
cmp eax, 0xd85c26d6
je 0x44a2e0
cmp eax, 0xdd27e91b
je case.0x44a49a.2
jmp 0x449ecd
cmp eax, 0x602deeae
jg 0x44a0a9
cmp eax, 0x4431cd5a
jle 0x44a177
cmp eax, 0x4431cd5b
je 0x44a301
cmp eax, 0x459792f2
je 0x44a33a
cmp eax, 0x4da77fde
jne 0x449ecd
mov eax, dword [esp + 0xc]
lea ecx, [eax - 0xd7]
imul ecx, ecx
imul eax, eax, 0x85
imul edx, ecx, 0x2919
add eax, 0xffff5fad
dec edx
mov dword [esp + 0xc], eax
mov eax, 0x4431cd5b
cmp ecx, edx
je 0x449fd9
mov eax, 0x3a09e3b4
mov dword [esp], eax
mov ebp, dword [esp + 0x2c]
jmp 0x449ecd
cmp eax, 0xa076448c
jle 0x44a0da
cmp eax, 0xb2409be5
jle 0x44a192
cmp eax, 0xb2409be6
je 0x44a367
cmp eax, 0xbf8677a6
je 0x44a39b
cmp eax, 0xc3501d22
je 0x44a45a
jmp 0x449ecd
cmp eax, 0x13d0c0b7
jle 0x44a1bd
cmp eax, 0x13d0c0b8
je 0x44a443
cmp eax, 0x1ceb96f1
je 0x44a3d9
cmp eax, 0x241b1475
je 0x44a09d
jmp 0x449ecd
cmp eax, 0xeb227f64
jle 0x44a1f4
cmp eax, 0xeb227f65
je 0x44a3f5
cmp eax, 0xeee9bf99
je 0x44a412
cmp eax, 0xf247de0f
jne 0x449ecd
mov ebx, dword [esp + 8]
shl ebx, 0xc
or ebx, 0x14e
mov dword [esp + 8], ebx
push ebx
call fcn.00449eb4
add esp, 4
push ebx
call fcn.00449eb4
add esp, 4
mov dword [esp], 0xa076448d
jmp 0x449ecd
cmp eax, 0x65a2ab42
jle 0x44a225
cmp eax, 0x65a2ab43
je 0x44a50d
cmp eax, 0x724743a3
je 0x44a42b
cmp eax, 0x7e43d795
je case.0x44a49a.0
jmp 0x449ecd
cmp eax, 0x895cf965
jle 0x44a240
cmp eax, 0x895cf966
je case.0x44a49a.3
cmp eax, 0x90fbe531
jne 0x44a626
imul ebx, dword [esp + 8], 0x2b0000
add ebx, 0x2b560000
jmp 0x44a604
cmp eax, 0xf6c5cd5b
je 0x44a48f
cmp eax, 0x845a74
je case.0x44a49a.1
jmp 0x449ecd
cmp eax, 0xc71cd4ca
je 0x44a534
cmp eax, 0xc7b8ff6d
jne 0x449ecd
mov ebx, dword [esp + 8]
shr ebx, 0xb
and ebx, 0x7ffff
add ebx, 0xffffffc4
mov eax, ebx
shr eax, 4
mov dword [esp + 8], eax
push eax
call fcn.00449eb4
add esp, 4
mov eax, 0xc71cd4ca
cmp ebx, 0x9f0
jae 0x44a52a
jmp 0x44a5f2
cmp eax, 0x3a09e3b4
je case.default.0x44a49a
cmp eax, 0x3bc3b379
je 0x44a481
jmp 0x449ecd
cmp eax, 0xa076448d
je 0x44a56d
cmp eax, 0xaa937b77
jne 0x449ecd
mov eax, dword [0x7ffe026c]
mov dword [esp + 0x14], eax
mov dword [esp], 0x241b1475
jmp 0x449ecd
cmp eax, 0xa3fe076
je 0x44a582
cmp eax, 0x12caeac5
jne 0x449ecd
imul eax, dword [esp + 0xc], 0xde
add eax, 0x98
mov dword [esp + 0xc], eax
mov dword [esp], 0x3a09e3b4
mov ebp, dword [esp + 0x24]
jmp 0x449ecd
cmp eax, 0xe04cd1ec
je 0x44a5a7
cmp eax, 0xe7dc6a3e
jne 0x449ecd
mov ebx, dword [esp + 8]
shr ebx, 9
add ebx, 0xffffff16
shr ebx, 0xc
add ebx, 0xfffffedd
jmp 0x44a604
cmp eax, 0x602deeaf
je 0x44a5c4
cmp eax, 0x64ee4232
je 0x44a472
jmp 0x449ecd
cmp eax, 0x88be01a0
je 0x44a5fa
cmp eax, 0x8927a85f
jne 0x449ecd
imul ecx, dword [esp + 8], 0xd0930000
mov eax, 0xd85c26d6
add ecx, 0xd8b0000
jmp 0x44a520
mov eax, dword [esp + 0xc]
lea ecx, [eax + 0x5f]
imul ecx, ecx
lea eax, [eax*8 + 0x2f8]
imul edx, ecx, 0x85ff
dec edx
mov dword [esp + 0xc], eax
mov eax, 0xb2409be6
cmp edx, ecx
je 0x44a298
mov eax, 0x3a09e3b4
mov dword [esp], eax
mov ebp, dword [esp + 0x28]
jmp 0x449ecd
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x38]
mov dword [ecx], eax
mov eax, dword [esp + 0x14]
mov dword [esi], eax
mov dword [esp], 0x9d1fe6d8
jmp 0x449ecd
movzx eax, byte [esp + 7]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x1c]
mov dword [esi + 8], eax
mov dword [esp + 0x38], edi
mov dword [esp], 0x602deeaf
jmp 0x449ecd
mov eax, dword [0x7ffe0260]
mov dword [esp + 0x1c], eax
cmp dword [0x7ffe0264], 2
sete byte [esp + 7]
mov dword [esp], 0xeb227f65
jmp 0x449ecd
mov ebx, dword [esp + 8]
shr ebx, 5
add ebx, 0xffffff7d
mov dword [esp + 8], ebx
push ebx
call fcn.00449eb4
add esp, 4
push ebx
call fcn.00449eb4
add esp, 4
mov eax, 0xbf8677a6
cmp ebx, 0x96
jb 0x44a52a
jmp 0x44a5f2
mov ebx, dword [esp + 8]
shr ebx, 9
add ebx, 0xffffffaf
mov dword [esp + 8], ebx
push ebx
call fcn.00449eb4
add esp, 4
mov eax, 0x845a74
cmp ebx, 0x8f
jb 0x44a563
jmp 0x44a5f2
mov eax, dword [esp + 8]
mov ecx, 0x1fffffff
and eax, ecx
lea ecx, [eax*4 - 0x38]
shr ecx, 0xa
mov dword [esp + 8], ecx
mov eax, 0xd85c26d6
cmp ecx, 0xdd
je 0x44a5f2
mov eax, 0x88be01a0
jmp 0x44a5f2
imul eax, dword [esp + 8], 0x46
shr eax, 6
imul ebx, eax, 0x62
add ebx, 0xfffffed1
mov eax, ebx
shr eax, 0xd
mov dword [esp + 8], eax
push eax
call fcn.00449eb4
add esp, 4
mov eax, 0xe04cd1ec
cmp ebx, 0x16000
jae 0x44a5f2
mov eax, 0x459792f2
jmp 0x44a5f2
imul eax, dword [esp + 0xc], 0xe8000
mov dword [esp + 0xc], eax
mov dword [esp], 0x3a09e3b4
mov ebp, dword [esp + 0x20]
jmp 0x449ecd
imul eax, dword [esp + 0xc], 0x66
add eax, 0xffffbd58
shr eax, 3
mov dword [esp + 0xc], eax
mov dword [esp], 0xeee9bf99
jmp 0x449ecd
mov eax, dword [esp + 0x14]
cmp eax, 5
je 0x44a443
cmp eax, 6
je 0x44a48f
xor ebp, ebp
cmp eax, 0xa
jne case.default.0x44a49a
movzx eax, byte [esp + 7]
add eax, 0xd
mov dword [esp + 0x20], eax
mov dword [esp], 0x1ceb96f1
jmp 0x449ecd
mov eax, dword [esp + 0x10]
test eax, eax
je 0x44a472
mov ebp, 2
cmp eax, 1
je case.default.0x44a49a
cmp eax, 2
jne 0x44a481
movzx eax, byte [esp + 7]
add eax, 3
mov dword [esp + 0x30], eax
mov dword [esp], 0xa3fe076
jmp 0x449ecd
mov dword [esp], 0x3a09e3b4
xor ebp, ebp
inc ebp
jmp 0x449ecd
mov dword [esp], 0x3a09e3b4
xor ebp, ebp
jmp 0x449ecd
xor ebp, ebp
mov eax, dword [esp + 0x10]
cmp eax, 3
ja case.default.0x44a49a
jmp dword [eax*4 + 0x474304]
movzx ebp, byte [esp + 7]
add ebp, 5
mov dword [esp], 0x3a09e3b4
jmp 0x449ecd
mov dword [esp + 0x3c], ebp
mov dword [esp], 0xccb8bb14
jmp 0x449ecd
movzx eax, byte [esp + 7]
add eax, 7
mov dword [esp + 0x2c], eax
mov dword [esp], 0x4da77fde
jmp 0x449ecd
movzx eax, byte [esp + 7]
add eax, 9
mov dword [esp + 0x28], eax
mov dword [esp], 0x6f0d1ed
jmp 0x449ecd
movzx eax, byte [esp + 7]
add eax, 0xb
mov dword [esp + 0x24], eax
mov dword [esp], 0x12caeac5
jmp 0x449ecd
imul ecx, dword [esp + 8], 0x3e800
mov eax, 0xd85c26d6
add ecx, 0x445c000
mov dword [esp + 8], ecx
je 0x44a5f2
mov eax, 0xa076448d
jmp 0x44a5f2
imul ebx, dword [esp + 8], 0x48c000
mov dword [esp + 8], ebx
push ebx
call fcn.00449eb4
add esp, 4
push ebx
call fcn.00449eb4
add esp, 4
mov eax, 0x8927a85f
cmp ebx, 0xdc
jl 0x44a5f2
mov eax, 0xd85c26d6
jmp 0x44a5f2
mov eax, dword [0x7ffe0270]
mov dword [esp + 0x10], eax
mov dword [esp], 0xd85c26d6
jmp 0x449ecd
mov eax, dword [esp + 0xc]
shl eax, 0x1b
lea eax, [eax + eax*8]
mov ecx, 0xda5f0000
sub ecx, eax
mov dword [esp + 0xc], ecx
mov dword [esp], 0x3a09e3b4
mov ebp, dword [esp + 0x30]
jmp 0x449ecd
imul eax, dword [esp + 8], 0x4678c000
add eax, 0x1485a000
mov dword [esp + 8], eax
mov dword [esp], 0xd85c26d6
jmp 0x449ecd
mov ecx, dword [esp + 0xc]
shr ecx, 0xc
imul eax, ecx, 0x8f
imul ecx, ecx
imul edx, ecx, 0x267d
dec edx
add eax, 0xffffcd2b
mov dword [esp + 0xc], eax
mov eax, 0x90fbe531
cmp ecx, edx
je 0x44a5f2
mov eax, 0x76d9ca6
mov dword [esp], eax
jmp 0x449ecd
mov ebx, dword [esp + 8]
shl ebx, 7
or ebx, 0x7d
mov dword [esp + 8], ebx
push ebx
call fcn.00449eb4
add esp, 4
push ebx
call fcn.00449eb4
add esp, 4
mov dword [esp], 0xd85c26d6
jmp 0x449ecd
cmp eax, 0x9d1fe6d8
jne 0x449ecd
mov dword [esp + 0x18], ebp
mov eax, dword [esp + 0x34]
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x3c]
add esp, 0x40
pop esi
pop edi
pop ebx
pop ebp
ret