Function at 0x447b8c
Capabilities:
Get os information via kuser_shared_data

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x3c
mov esi, dword [esp + 0x50]
mov dword [esp + 4], 0xaa937b77
lea eax, [esi + 0xc]
mov dword [esp + 0x14], eax
lea ebx, [esi + 4]
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 4]
cmp eax, 0x845a73
jle 0x447bf9
cmp eax, 0x3a09e3b3
jg 0x447c67
cmp eax, 0x12caeac4
jg 0x447cda
cmp eax, 0x76d9ca5
jg 0x447dc2
cmp eax, 0x845a74
je case.0x4480d8.0
cmp eax, 0x6f0d1ed
jne 0x447bb1
mov dword [esp + 4], 0x1ceb96f1
jmp 0x447bb1
cmp eax, 0xc71cd4c9
jle 0x447c98
cmp eax, 0xdd27e91a
jg 0x447d00
cmp eax, 0xccb8bb13
jg 0x447e19
cmp eax, 0xc71cd4ca
je 0x448059
cmp eax, 0xc7b8ff6d
jne 0x447bb1
mov ecx, dword [esp + 8]
mov eax, 0xffffff46
add ecx, eax
imul eax, ecx, 0xec6
imul ecx, ecx
imul edx, ecx, 0x3ec9
dec edx
add eax, 0x3b92
mov dword [esp + 8], eax
mov eax, 0x65a2ab43
cmp edx, ecx
je 0x448038
mov eax, 0x9d1fe6d8
jmp 0x448038
cmp eax, 0x64ee4231
jg 0x447d3a
cmp eax, 0x4da77fdd
jg 0x447e57
cmp eax, 0x3a09e3b4
je 0x447f70
cmp eax, 0x3bc3b379
je case.default.0x4480d8
jmp 0x447bb1
cmp eax, 0xa076448c
jle 0x447d85
cmp eax, 0xb2409be5
jg 0x447e93
cmp eax, 0xa076448d
je 0x447fac
cmp eax, 0xaa937b77
jne 0x447bb1
mov eax, dword [0x7ffe026c]
mov dword [esp + 0x10], eax
mov dword [esp + 4], 0x241b1475
jmp 0x447bb1
cmp eax, 0x1ceb96f0
jg 0x447eae
cmp eax, 0x12caeac5
je 0x447fce
cmp eax, 0x13d0c0b8
je 0x447f21
jmp 0x447bb1
cmp eax, 0xeee9bf98
jg 0x447eda
cmp eax, 0xdd27e91b
je case.0x4480d8.1
cmp eax, 0xeb227f65
jne 0x447bb1
movzx eax, byte [esp + 3]
add eax, 0xd
mov dword [esp + 0x24], eax
mov dword [esp + 4], 0xa3fe076
jmp 0x447bb1
cmp eax, 0x724743a2
jg 0x447ef5
cmp eax, 0x64ee4232
je 0x447f46
cmp eax, 0x65a2ab43
jne 0x447bb1
shl ebp, 5
add ebp, 0xffff8ec0
and ebp, 0xfffffc00
mov eax, 0xccb8bb14
cmp ebp, 0xaf
jge 0x448038
mov eax, 0x241b1475
jmp 0x448038
cmp eax, 0x895cf965
jg 0x447f55
cmp eax, 0x88be01a0
je 0x44806f
cmp eax, 0x8927a85f
jne 0x447bb1
add ebp, 0xfffffffe
mov eax, 0xb2409be6
cmp ebp, 0x86
jae 0x447dbb
mov eax, 0x4da77fde
shr ebp, 1
jmp 0x448038
cmp eax, 0x76d9ca6
je 0x447ff8
cmp eax, 0xa3fe076
jne 0x447bb1
mov eax, dword [esp + 8]
mov ecx, 0xffffff29
add eax, ecx
shr eax, 0xf
mov ecx, eax
imul ecx, eax
imul edx, ecx, 0x4319
dec edx
shl eax, 5
add eax, 0xffffeb80
mov dword [esp + 8], eax
mov eax, 0x241b1475
cmp ecx, edx
je 0x447e0c
mov eax, 0x3bc3b379
mov dword [esp + 4], eax
mov edi, dword [esp + 0x24]
jmp 0x447bb1
cmp eax, 0xccb8bb14
je 0x448091
cmp eax, 0xd85c26d6
jne 0x447bb1
mov eax, dword [esp + 8]
shr eax, 2
and eax, 0x3fffff00
imul eax, eax, 0x35800
add eax, 0xff1ca000
mov dword [esp + 8], eax
mov dword [esp + 4], 0xa076448d
jmp 0x447bb1
cmp eax, 0x4da77fde
je 0x44800d
cmp eax, 0x602deeaf
jne 0x447bb1
mov eax, dword [esp + 8]
shr eax, 0xb
movzx eax, ax
imul eax, eax, 0xf6
add eax, 0x8e38
mov dword [esp + 8], eax
mov dword [esp + 4], 0x76d9ca6
jmp 0x447bb1
cmp eax, 0xb2409be6
je 0x448023
cmp eax, 0xc3501d22
je 0x447f36
jmp 0x447bb1
cmp eax, 0x1ceb96f1
je 0x448041
cmp eax, 0x241b1475
jne 0x447bb1
mov eax, dword [0x7ffe0270]
mov dword [esp + 0xc], eax
mov dword [esp + 4], 0xd85c26d6
jmp 0x447bb1
cmp eax, 0xeee9bf99
je 0x4480ae
cmp eax, 0xf6c5cd5b
je case.0x4480d8.3
jmp 0x447bb1
cmp eax, 0x724743a3
je 0x4480cd
cmp eax, 0x7e43d795
jne 0x447bb1
mov eax, dword [esp + 0xc]
test eax, eax
je 0x447f36
cmp eax, 1
je 0x448137
cmp eax, 2
jne 0x447f46
movzx edi, byte [esp + 3]
add edi, 3
mov dword [esp + 4], 0x3bc3b379
jmp 0x447bb1
mov dword [esp + 4], 0x3bc3b379
xor edi, edi
inc edi
jmp 0x447bb1
mov dword [esp + 4], 0x3bc3b379
xor edi, edi
jmp 0x447bb1
cmp eax, 0x895cf966
je case.0x4480d8.2
cmp eax, 0x9d1fe6d8
jne 0x447bb1
jmp 0x44814d
imul eax, dword [esp + 8], 0xb8
shr eax, 7
mov ecx, eax
imul ecx, eax
imul edx, ecx, 0x3261
shl eax, 5
dec edx
add eax, 0x4c
mov dword [esp + 8], eax
mov eax, 0x241b1475
cmp ecx, edx
je 0x447f9f
mov eax, 0x3bc3b379
mov dword [esp + 4], eax
mov edi, dword [esp + 0x28]
jmp 0x447bb1
mov eax, dword [0x7ffe0260]
mov dword [esp + 0x20], eax
cmp dword [0x7ffe0264], 2
sete byte [esp + 3]
mov dword [esp + 4], 0xeee9bf99
jmp 0x447bb1
mov eax, dword [esp + 8]
shr eax, 1
lea ecx, [eax - 0x6a]
imul ecx, ecx
imul edx, ecx, 0x4fa7
dec edx
add eax, 0xffffffaf
mov dword [esp + 8], eax
mov eax, 0x8927a85f
cmp ecx, edx
je 0x448038
mov eax, 0x6f0d1ed
jmp 0x448038
mov eax, dword [esp + 0x14]
mov dword [esp + 0x34], eax
mov dword [esp + 4], 0xc7b8ff6d
jmp 0x447bb1
movzx eax, byte [esp + 3]
mov dword [esp + 0x2c], eax
mov dword [esp + 4], 0x12caeac5
jmp 0x447bb1
imul ebp, ebp, 0x1a63
mov eax, 0x88be01a0
cmp ebp, 0x21
jge 0x448038
mov eax, 0xa076448d
mov dword [esp + 4], eax
jmp 0x447bb1
mov eax, dword [esp + 0x20]
mov dword [esi + 8], eax
mov dword [esp + 0x30], ebx
mov dword [esp + 4], 0xccb8bb14
jmp 0x447bb1
imul eax, ebp, 0xdf
add eax, 0xfffff131
shr eax, 9
imul ebp, eax, 0x28a000
jmp 0x44807b
shr ebp, 0xe
push ebp
call fcn.00447b8c
add esp, 4
push ebp
call fcn.00447b8c
add esp, 4
mov dword [esp + 4], 0x241b1475
jmp 0x447bb1
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x30]
mov dword [ecx], eax
mov eax, dword [esp + 0x10]
mov dword [esi], eax
mov dword [esp + 4], 0x602deeaf
jmp 0x447bb1
mov eax, dword [esp + 0x10]
cmp eax, 5
je 0x447f0b
cmp eax, 6
je 0x4480cd
xor edi, edi
cmp eax, 0xa
je 0x447d21
jmp case.default.0x4480d8
xor edi, edi
mov eax, dword [esp + 0xc]
cmp eax, 3
ja case.default.0x4480d8
jmp dword [eax*4 + 0x472248]
movzx edi, byte [esp + 3]
add edi, 5
mov dword [esp + 4], 0x3bc3b379
jmp 0x447bb1
movzx eax, byte [esp + 3]
add eax, 7
mov dword [esp + 0x28], eax
mov dword [esp + 4], 0x3a09e3b4
jmp 0x447bb1
movzx edi, byte [esp + 3]
add edi, 9
mov dword [esp + 4], 0x3bc3b379
jmp 0x447bb1
movzx edi, byte [esp + 3]
add edi, 0xb
mov dword [esp + 4], 0x3bc3b379
jmp 0x447bb1
mov edi, 2
mov dword [esp + 0x38], edi
mov dword [esp + 4], 0x4da77fde
jmp 0x447bb1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x18], edi
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x34]
mov dword [ecx], eax
mov eax, dword [esp + 0x38]
add esp, 0x3c
pop esi
pop edi
pop ebx
pop ebp
ret