Function at 0x4409e8
Capabilities:
Get os information via kuser_shared_data

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x34
mov esi, dword [esp + 0x48]
mov dword [esp], 0x78a13529
mov ebp, dword [esp + 0x18]
mov eax, dword [esp]
cmp eax, 0x12ec38b1
jg 0x440a60
cmp eax, 0xb8b656b7
jle 0x440ae2
cmp eax, 0xd2d87be8
jle 0x440b6e
cmp eax, 0xecb12a5e
jg 0x440c8f
cmp eax, 0xd2d87be9
je 0x440e90
cmp eax, 0xd4622810
je 0x440eca
cmp eax, 0xe4f922e9
jne 0x4409fe
imul eax, dword [esp + 4], 0xb3e78000
add eax, 0xffffc88a
mov dword [esp + 4], eax
mov dword [esp], 0xc12d797a
jmp 0x4409fe
cmp eax, 0x4034fc6b
jg 0x440b1e
cmp eax, 0x22eb69f5
jle 0x440bbe
cmp eax, 0x327a55ac
jg 0x440cc8
cmp eax, 0x22eb69f6
je case.default.0x440fad
cmp eax, 0x28c86b29
je 0x440ef5
cmp eax, 0x2c387bd3
jne 0x4409fe
mov edi, dword [esp + 4]
mov eax, 0xffffff73
add edi, eax
shr edi, 0xf
add edi, 0xffffff79
mov dword [esp + 4], edi
push edi
call fcn.004409e8
add esp, 4
push edi
call fcn.004409e8
add esp, 4
mov eax, 0x69962771
cmp edi, 0x80
jae 0x4411de
jmp 0x44124f
cmp eax, 0x99781919
jle 0x440c0b
cmp eax, 0xaeaab18c
jg 0x440cfb
cmp eax, 0x9978191a
je 0x440f26
cmp eax, 0xa5ae260f
je case.0x440fad.3
cmp eax, 0xaa3358b0
je 0x440f81
jmp 0x4409fe
cmp eax, 0x63c138bf
jle 0x440c5e
cmp eax, 0x6a667c0e
jg 0x440d21
cmp eax, 0x63c138c0
je 0x44100c
cmp eax, 0x6753933f
je 0x441035
cmp eax, 0x69962771
jne 0x4409fe
imul edi, dword [esp + 4], 0x3cc00
add edi, 0xffe10000
shr edi, 0xb
and edi, 0xfffffff0
jmp 0x440bf8
cmp eax, 0xc275a18e
jg 0x440d60
cmp eax, 0xb8b656b8
je 0x441216
cmp eax, 0xbbaf56f0
je 0x44105c
cmp eax, 0xc12d797a
jne 0x4409fe
imul eax, dword [esp + 4], 0x6f1c0000
or eax, 0x23
mov dword [esp + 4], eax
push eax
call fcn.004409e8
add esp, 4
mov dword [esp], 0x4d070cd3
jmp 0x4409fe
cmp eax, 0x1cb59433
jle 0x440db2
cmp eax, 0x1cb59434
je 0x44109b
cmp eax, 0x1e35e006
je case.0x440fad.2
cmp eax, 0x1f5e02cd
jne 0x4409fe
imul edi, dword [esp + 4], 0x18b400
add edi, 0xffd3ff60
mov dword [esp + 4], edi
push edi
call fcn.004409e8
add esp, 4
push edi
jmp 0x44120e
cmp eax, 0x8b71f59b
jle 0x440df5
cmp eax, 0x8b71f59c
je 0x4410b3
cmp eax, 0x96f251ba
je 0x4410f3
cmp eax, 0x970e455e
jne 0x4409fe
mov edi, dword [esp + 4]
shr edi, 0xa
mov dword [esp + 4], edi
push edi
call fcn.004409e8
add esp, 4
mov eax, 0x4d070cd3
cmp edi, 0x35
jne 0x44102b
jmp 0x44124f
cmp eax, 0x43f3a4c7
jle 0x440e48
cmp eax, 0x43f3a4c8
je 0x441123
cmp eax, 0x4d070cd3
je 0x441139
cmp eax, 0x626988b8
je 0x440f9e
jmp 0x4409fe
cmp eax, 0xecb12a5f
je 0x441155
cmp eax, 0xedfbd3cf
je 0x441198
cmp eax, 0x1249dc0b
jne 0x4409fe
cmp dword [0x7ffe0264], 2
sete byte [esp + 0xb]
mov dword [esp], 0x9978191a
jmp 0x4409fe
cmp eax, 0x327a55ad
je 0x440f57
cmp eax, 0x3de22966
je 0x440f3f
cmp eax, 0x3e41e8cd
jne 0x4409fe
mov eax, dword [esp + 0x14]
mov dword [esi], eax
mov dword [esp], 0xecb12a5f
jmp 0x4409fe
cmp eax, 0xaeaab18d
je 0x4411ab
cmp eax, 0xb1bedde3
je 0x440f6d
cmp eax, 0xb2a1aad2
je case.0x440fad.1
jmp 0x4409fe
cmp eax, 0x6a667c0f
je case.0x440fad.0
cmp eax, 0x75fa082a
je 0x4411c0
cmp eax, 0x78a13529
jne 0x4409fe
mov eax, dword [0x7ffe026c]
mov dword [esp + 0x14], eax
mov eax, dword [0x7ffe0270]
mov dword [esp + 0x10], eax
mov dword [esp], 0xb8b656b8
jmp 0x4409fe
cmp eax, 0xc275a18f
je 0x4411e5
cmp eax, 0xc9db41b4
jne 0x44126c
mov ebx, dword [esp + 4]
mov eax, 0xffffff6d
add ebx, eax
mov edi, ebx
shr edi, 5
mov dword [esp + 4], edi
push edi
call fcn.004409e8
add esp, 4
push edi
call fcn.004409e8
add esp, 4
mov eax, 0xe4f922e9
cmp ebx, 0x160
jb 0x44124a
jmp 0x44124f
cmp eax, 0x12ec38b2
je 0x441202
cmp eax, 0x13203bff
jne 0x4409fe
mov edi, dword [esp + 4]
shl edi, 0x14
add edi, 0x8d8c000
mov dword [esp + 4], edi
push edi
call fcn.004409e8
add esp, 4
mov eax, 0x43f3a4c8
cmp edi, 0x6e
jge 0x4411de
jmp 0x44124f
cmp eax, 0x81fa49ba
je 0x441222
cmp eax, 0x87a2011e
jne 0x4409fe
mov eax, dword [esp + 4]
shr eax, 5
and eax, 0x1ffffff
imul edi, eax, 0xc9
add edi, 0xc8
mov dword [esp + 4], edi
push edi
call fcn.004409e8
add esp, 4
mov eax, 0x1cb59434
cmp edi, 0x4f
jb 0x44124f
mov eax, 0x2c387bd3
jmp 0x44124f
cmp eax, 0x4034fc6c
je 0x440f90
cmp eax, 0x4131dcee
jne 0x4409fe
mov ecx, dword [esp + 0xc]
shr ecx, 3
imul eax, ecx, 0x5b
imul ecx, ecx
imul edx, ecx, 0x5d4f
shr eax, 0xa
dec edx
mov dword [esp + 0xc], eax
mov eax, 0x28c86b29
cmp edx, ecx
je 0x44124f
mov eax, 0xedfbd3cf
jmp 0x44124f
mov eax, dword [esp + 0xc]
shr eax, 0xb
lea ecx, [eax + 6]
imul ecx, ecx
imul edx, ecx, 0x6a29
dec edx
add eax, 0x95
shr eax, 8
mov dword [esp + 0xc], eax
mov eax, 0xd4622810
cmp edx, ecx
je 0x440ebe
mov eax, 0x22eb69f6
mov dword [esp], eax
mov ebp, dword [esp + 0x20]
jmp 0x4409fe
imul edi, dword [esp + 4], 0x56
add edi, 0x504e
mov dword [esp + 4], edi
push edi
call fcn.004409e8
add esp, 4
mov eax, 0x1249dc0b
cmp edi, 0x5a
jge 0x4411de
jmp 0x44124f
imul edi, dword [esp + 4], 0xf4
add edi, 0xffffd8ec
shr edi, 0x16
mov dword [esp + 4], edi
push edi
call fcn.004409e8
add esp, 4
mov eax, 0x13203bff
cmp edi, 0x1f
jne 0x44102b
jmp 0x44124f
mov eax, dword [esp + 0x14]
cmp eax, 5
je 0x440f57
cmp eax, 6
je 0x440f9e
xor ebp, ebp
cmp eax, 0xa
jne case.default.0x440fad
movzx eax, byte [esp + 0xb]
add eax, 0xd
mov dword [esp + 0x20], eax
mov dword [esp], 0xd2d87be9
jmp 0x4409fe
mov eax, dword [esp + 0x10]
test eax, eax
je 0x440f81
cmp eax, 1
je 0x441257
cmp eax, 2
jne 0x440f90
movzx ebp, byte [esp + 0xb]
add ebp, 3
mov dword [esp], 0x22eb69f6
jmp 0x4409fe
mov dword [esp], 0x22eb69f6
xor ebp, ebp
inc ebp
jmp 0x4409fe
mov dword [esp], 0x22eb69f6
xor ebp, ebp
jmp 0x4409fe
xor ebp, ebp
mov eax, dword [esp + 0x10]
cmp eax, 3
ja case.default.0x440fad
jmp dword [eax*4 + 0x467d84]
movzx ebp, byte [esp + 0xb]
add ebp, 5
mov dword [esp], 0x22eb69f6
jmp 0x4409fe
movzx eax, byte [esp + 0xb]
add eax, 7
mov dword [esp + 0x28], eax
mov dword [esp], 0x8b71f59c
jmp 0x4409fe
movzx eax, byte [esp + 0xb]
add eax, 9
mov dword [esp + 0x24], eax
mov dword [esp], 0x6753933f
jmp 0x4409fe
movzx ebp, byte [esp + 0xb]
add ebp, 0xb
mov dword [esp], 0x22eb69f6
jmp 0x4409fe
mov ecx, dword [esp + 4]
shl ecx, 2
and ecx, 0x7fffc
mov dword [esp + 4], ecx
mov eax, 0xaeaab18d
cmp ecx, 0x3c
je 0x44124f
mov eax, 0x1249dc0b
jmp 0x44124f
mov eax, dword [esp + 0xc]
shl eax, 8
or eax, 0xe
imul eax, eax, 0xf4
add eax, 0xffffffe8
mov dword [esp + 0xc], eax
mov dword [esp], 0x22eb69f6
mov ebp, dword [esp + 0x24]
jmp 0x4409fe
imul edi, dword [esp + 4], 0x164
add edi, 0x15b21
mov dword [esp + 4], edi
push edi
call fcn.004409e8
add esp, 4
push edi
call fcn.004409e8
add esp, 4
mov eax, 0x1f5e02cd
cmp edi, 0xe2
jb 0x44124f
mov eax, 0x12ec38b2
jmp 0x44124f
imul eax, dword [esp + 4], 0xb2c00
mov dword [esp + 4], eax
mov dword [esp], 0x63c138c0
jmp 0x4409fe
mov eax, dword [esp + 0xc]
mov ecx, 0xffffff79
add eax, ecx
shr eax, 0xd
mov ecx, eax
imul ecx, eax
imul edx, ecx, 0x8851
dec edx
add eax, 0xffffff38
shr eax, 7
mov dword [esp + 0xc], eax
mov eax, 0x87a2011e
cmp ecx, edx
je 0x4410e7
mov eax, 0x22eb69f6
mov dword [esp], eax
mov ebp, dword [esp + 0x28]
jmp 0x4409fe
imul eax, dword [esp + 4], 0x57
add eax, 0xffffad6b
shr eax, 4
imul ecx, eax, 0xacec
add ecx, 0x32
mov dword [esp + 4], ecx
mov eax, 0xbbaf56f0
cmp ecx, 0xd3
jl 0x4411de
jmp 0x44124f
imul eax, dword [esp + 4], 0xf9
add eax, 0xfffef770
mov dword [esp + 4], eax
jmp 0x441216
movzx eax, byte [esp + 0xb]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x1c]
mov dword [esi + 8], eax
mov dword [esp], 0x4131dcee
jmp 0x4409fe
mov ecx, dword [esp + 0xc]
shr ecx, 4
imul eax, ecx, 0x7b
add eax, 0xffffffa5
imul eax, eax
imul edx, eax, 0x5783
dec edx
imul ecx, ecx, 0x3d8000
add ecx, 0xfff80000
and ecx, 0xffe00000
mov dword [esp + 0xc], ecx
mov ecx, 0xc9db41b4
cmp edx, eax
je 0x441190
mov ecx, 0xc37141f3
mov dword [esp], ecx
jmp 0x4409fe
mov eax, dword [esp + 0x10]
mov dword [esi + 4], eax
mov dword [esp], 0x81fa49ba
jmp 0x4409fe
mov eax, dword [0x7ffe0260]
mov dword [esp + 0x1c], eax
mov dword [esp], 0xc275a18f
jmp 0x4409fe
mov ecx, dword [esp + 4]
add ecx, 0x7a
shr ecx, 5
add ecx, 0xffffff31
mov dword [esp + 4], ecx
mov eax, 0x1e35e006
cmp ecx, 0x47
jae 0x44124f
mov eax, 0xaeaab18d
jmp 0x44124f
imul eax, dword [esp + 0xc], 0x9e00
add eax, 0xffffff03
mov dword [esp + 0xc], eax
mov dword [esp], 0x1249dc0b
jmp 0x4409fe
mov eax, dword [esp + 4]
shr eax, 6
mov dword [esp + 4], eax
push eax
call fcn.004409e8
add esp, 4
mov dword [esp], 0xaeaab18d
jmp 0x4409fe
mov eax, dword [esp + 0xc]
shr eax, 0xa
lea ecx, [eax - 0x69]
imul ecx, ecx
imul edx, ecx, 0x12ad
dec edx
add eax, eax
add eax, 0xfffffec8
mov dword [esp + 0xc], eax
mov eax, 0x1249dc0b
cmp ecx, edx
je 0x44124f
mov eax, 0x3e41e8cd
mov dword [esp], eax
jmp 0x4409fe
mov ebp, 2
mov dword [esp + 0x30], ebp
mov dword [esp], 0x4d070cd3
jmp 0x4409fe
cmp eax, 0xc37141f3
jne 0x4409fe
mov dword [esp + 0x18], ebp
mov eax, dword [esp + 0x2c]
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x30]
add esp, 0x34
pop esi
pop edi
pop ebx
pop ebp
ret