Function at 0x447ecc
Capabilities:
Get os information via kuser_shared_data

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x38
mov dword [esp + 4], 0xa29a29d5
mov esi, 0xa29a29d5
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
cmp esi, 0x19db63ff
jg 0x447f3d
cmp esi, 0xc576a704
jg 0x447f9b
cmp esi, 0xa8d65b33
jg 0x448035
cmp esi, 0x8e5fff47
jg 0x44811f
cmp esi, 0x8330342a
je 0x448371
cmp esi, 0x839ecce6
jne 0x447ef0
movzx ebp, byte [esp + 3]
add ebp, 0xd
jmp 0x448319
cmp esi, 0x4ac7fc22
jle 0x447ff3
cmp esi, 0x599439be
jg 0x44805e
cmp esi, 0x4d8532fc
jg 0x448167
cmp esi, 0x4ac7fc23
je 0x44844d
cmp esi, 0x4af1adbb
jne 0x447ef0
mov esi, dword [esp + 0x10]
cmp esi, 5
je 0x4482fb
cmp esi, 6
je 0x448281
xor ebp, ebp
cmp esi, 0xa
je 0x447f30
jmp case.default.0x448290
cmp esi, 0xd062ab76
jg 0x4480a0
cmp esi, 0xcd3bc671
jg 0x4481a2
cmp esi, 0xc576a705
je case.0x448290.0
cmp esi, 0xc81225e2
jne 0x447ef0
imul esi, dword [esp + 8], 0xb0
add esi, 0x34
shr esi, 0xf
mov dword [esp + 8], esi
mov dword [esp + 4], 0x249c2c31
mov esi, 0x249c2c31
mov ebp, dword [esp + 0x30]
jmp 0x447ef0
cmp esi, 0x3146f307
jle 0x4480d1
cmp esi, 0x38fc5219
jg 0x4481cc
cmp esi, 0x3146f308
je 0x448281
cmp esi, 0x36a77d40
jne 0x447ef0
mov dword [esp + 4], 0xcd3bc672
mov esi, 0xcd3bc672
jmp 0x447ef0
cmp esi, 0xb245516b
jg 0x44821c
cmp esi, 0xa8d65b34
je 0x448396
cmp esi, 0xab7efe50
je case.0x448290.1
jmp 0x447ef0
cmp esi, 0x75f2564d
jg 0x44824b
cmp esi, 0x599439bf
je 0x44848b
cmp esi, 0x5e2f3263
jne 0x447ef0
mov esi, dword [esp + 0x28]
cmp esi, 2
sete byte [esp + 3]
mov dword [esp + 4], 0x2a7a1c87
mov esi, 0x2a7a1c87
jmp 0x447ef0
cmp esi, 0xfe24f2fe
jg 0x448264
cmp esi, 0xd062ab77
je 0x4483b1
cmp esi, 0xd683e227
jne 0x447ef0
mov dword [esp + 8], 0
jmp 0x44839f
cmp esi, 0x29885648
jle 0x448354
cmp esi, 0x29885649
je 0x4484a8
cmp esi, 0x2a7a1c87
jne 0x447ef0
mov esi, dword [esp + 8]
lea esi, [esi*8 + 0xe4]
shr esi, 7
and esi, 0xfffffffe
lea esi, [esi + esi*2]
mov dword [esp + 8], esi
mov dword [esp + 4], 0x4af1adbb
mov esi, 0x4af1adbb
jmp 0x447ef0
cmp esi, 0x8e5fff48
je 0x4483ce
cmp esi, 0xa29a29d5
jne 0x447ef0
mov esi, dword [0x7ffe026c]
mov dword [esp + 0x10], esi
mov esi, dword [0x7ffe0270]
mov dword [esp + 0xc], esi
mov esi, dword [0x7ffe0260]
mov dword [esp + 0x24], esi
mov dword [esp + 4], 0x29885649
mov esi, 0x29885649
jmp 0x447ef0
cmp esi, 0x4d8532fd
je 0x4482fb
cmp esi, 0x58300901
jne 0x447ef0
lea eax, [edx + edx*4]
lea edx, [eax + eax*4]
add edx, 0xffffe7e8
mov esi, 0x5e2f3263
cmp edx, 0x40
jae 0x44819a
mov esi, 0x29885649
shr edx, 4
jmp 0x448482
cmp esi, 0xcd3bc672
je 0x448413
cmp esi, 0xcd3e54ed
jne 0x447ef0
shl edx, 0x1c
lea eax, [edx + edx*4]
mov edx, 0xffffff1d
sub edx, eax
jmp 0x44839f
cmp esi, 0x38fc521a
je 0x448425
cmp esi, 0x3fdbf743
jne 0x447ef0
mov esi, dword [esp + 8]
lea esi, [esi + esi*2]
shl esi, 6
add esi, 0xffff8d40
shr esi, 5
imul esi, esi, 0x16600
shr esi, 0xe
and esi, 0x3ff00
mov dword [esp + 8], esi
mov dword [esp + 4], 0x36a77d40
mov esi, 0x36a77d40
jmp 0x447ef0
cmp esi, 0xb245516c
je case.0x448290.3
cmp esi, 0xb480bf9c
jne 0x447ef0
movzx ecx, byte [esp + 3]
mov dword [esp + 4], 0x3fdbf743
mov esi, 0x3fdbf743
jmp 0x447ef0
cmp esi, 0x75f2564e
je 0x44832b
cmp esi, 0x790d5859
je case.0x448290.2
jmp 0x447ef0
cmp esi, 0xfe24f2ff
je 0x448311
cmp esi, 0x6b584ae
je 0x448340
jmp 0x447ef0
xor ebp, ebp
mov esi, dword [esp + 0xc]
cmp esi, 3
ja case.default.0x448290
jmp dword [esi*4 + 0x4722f4]
movzx esi, byte [esp + 3]
add esi, 5
mov dword [esp + 0x34], esi
mov dword [esp + 4], 0x38fc521a
mov esi, 0x38fc521a
jmp 0x447ef0
movzx ebp, byte [esp + 3]
add ebp, 7
jmp 0x448319
movzx esi, byte [esp + 3]
add esi, 9
mov dword [esp + 0x30], esi
mov dword [esp + 4], 0xc81225e2
mov esi, 0xc81225e2
jmp 0x447ef0
movzx esi, byte [esp + 3]
add esi, 0xb
mov dword [esp + 0x2c], esi
mov dword [esp + 4], 0x8e5fff48
mov esi, 0x8e5fff48
jmp 0x447ef0
mov esi, dword [esp + 0xc]
test esi, esi
je 0x44832b
cmp esi, 1
je 0x4484c4
cmp esi, 2
jne 0x448340
movzx ebp, byte [esp + 3]
add ebp, 3
mov dword [esp + 4], 0x249c2c31
mov esi, 0x249c2c31
jmp 0x447ef0
mov dword [esp + 4], 0x249c2c31
mov esi, 0x249c2c31
xor ebp, ebp
inc ebp
jmp 0x447ef0
mov dword [esp + 4], 0x249c2c31
mov esi, 0x249c2c31
xor ebp, ebp
jmp 0x447ef0
cmp esi, 0x249c2c31
je case.default.0x448290
cmp esi, 0x19db6400
jne 0x447ef0
jmp 0x4484dd
imul edx, edx, 0x5f0
add edx, 0x28d2
mov esi, 0xcd3e54ed
cmp edx, 0x96
jb 0x44838f
mov esi, 0xa8d65b34
shr edx, 1
jmp 0x448482
shl edx, 0xc
add edx, 0x90f74
mov dword [esp + 4], 0x5e2f3263
mov esi, 0x5e2f3263
jmp 0x447ef0
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0x4c]
mov dword [eax + 4], esi
mov dword [esp + 4], 0x19db6400
mov esi, 0x19db6400
jmp 0x447ef0
mov esi, dword [esp + 8]
shr esi, 0xb
imul edi, esi, 0x7b
add edi, 0xffff98b3
imul edi, edi
imul ebp, edi, 0x4cc7
dec ebp
imul esi, esi, 0x7b000
add esi, 0xf98bb000
mov dword [esp + 8], esi
mov esi, 0x8330342a
cmp ebp, edi
je 0x448406
mov esi, 0x249c2c31
mov dword [esp + 4], esi
mov ebp, dword [esp + 0x2c]
jmp 0x447ef0
mov dword [esp + 4], 0x599439bf
mov esi, 0x599439bf
jmp 0x447ef0
imul esi, dword [esp + 8], 0x1c8000
add esi, 0xfffffed2
mov dword [esp + 8], esi
mov dword [esp + 4], 0x249c2c31
mov esi, 0x249c2c31
mov ebp, dword [esp + 0x34]
jmp 0x447ef0
mov edi, dword [esp + 8]
mov eax, 0xffffff68
add edi, eax
mov esi, edi
shl esi, 6
imul edi, edi
imul eax, edi, 0x5f57
add esi, 0xfc
dec eax
shr esi, 2
mov dword [esp + 8], esi
mov esi, 0x599439bf
cmp edi, eax
je 0x448482
mov esi, 0xd062ab77
mov dword [esp + 4], esi
jmp 0x447ef0
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x4c]
mov dword [eax + 8], esi
mov dword [esp + 4], 0x4ac7fc23
mov esi, 0x4ac7fc23
jmp 0x447ef0
mov esi, dword [0x7ffe0264]
mov dword [esp + 0x28], esi
mov dword [esp + 4], 0xd683e227
mov esi, 0xd683e227
jmp 0x447ef0
mov ebp, 2
mov dword [esp + 4], 0xb480bf9c
mov esi, 0xb480bf9c
mov ebx, ebp
jmp 0x447ef0
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x18], ebx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x4c]
mov dword [ecx], eax
mov eax, dword [esp + 0x14]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x18]
add esp, 0x38
pop esi
pop edi
pop ebx
pop ebp
ret