Function at 0x43efa8
Capabilities:
Get os information via kuser_shared_data

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x30
mov esi, dword [esp + 0x44]
mov dword [esp], 0x78a13529
mov edi, dword [esp + 0x18]
mov ebp, 0xf9000000
mov eax, dword [esp]
cmp eax, 0x12ec38b1
jle 0x43f02f
cmp eax, 0x4034fc6b
jle 0x43f08f
cmp eax, 0x6753933e
jg 0x43f138
cmp eax, 0x4d070cd2
jle 0x43f23d
cmp eax, 0x4d070cd3
je 0x43f45c
cmp eax, 0x626988b8
je 0x43f497
cmp eax, 0x63c138c0
jne 0x43efc3
imul ecx, dword [esp + 8], 0x3b8
mov dword [esp + 8], ecx
mov eax, 0x2c387bd3
cmp ecx, 0x73
jae 0x43f5ed
mov eax, 0x69962771
jmp 0x43f5ed
cmp eax, 0xb2a1aad1
jle 0x43f0fc
cmp eax, 0xd2d87be8
jle 0x43f170
cmp eax, 0xecb12a5e
jle 0x43f25f
cmp eax, 0xecb12a5f
je 0x43f4b4
cmp eax, 0xedfbd3cf
je 0x43f4dd
cmp eax, 0x1249dc0b
jne 0x43efc3
mov eax, dword [0x7ffe0270]
mov dword [esp + 0x10], eax
mov eax, dword [0x7ffe0260]
mov dword [esp + 0x1c], eax
mov dword [esp], 0xc275a18f
jmp 0x43efc3
cmp eax, 0x22eb69f5
jle 0x43f1a1
cmp eax, 0x327a55ac
jle 0x43f296
cmp eax, 0x327a55ad
je case.0x43f51f.1
cmp eax, 0x3de22966
je 0x43f4f2
cmp eax, 0x3e41e8cd
jne 0x43efc3
mov eax, dword [esp + 0xc]
mov ecx, eax
shr ecx, 9
imul ecx, ecx
shr eax, 0xf
imul edx, ecx, 0x79d
dec edx
add eax, 0x83
mov dword [esp + 0xc], eax
mov eax, 0x75fa082a
cmp ecx, edx
je 0x43f5ed
mov eax, 0x4131dcee
jmp 0x43f5ed
cmp eax, 0x99781919
jle 0x43f1f5
cmp eax, 0xaa3358af
jle 0x43f2c5
cmp eax, 0xaa3358b0
je 0x43f53a
cmp eax, 0xaeaab18d
je 0x43f60e
cmp eax, 0xb1bedde3
je case.0x43f51f.0
jmp 0x43efc3
cmp eax, 0x6a667c0e
jle 0x43f2f3
cmp eax, 0x6a667c0f
je case.0x43f51f.2
cmp eax, 0x75fa082a
je 0x43f5c1
cmp eax, 0x78a13529
jne 0x43efc3
mov dword [esp], 0xb8b656b8
jmp 0x43efc3
cmp eax, 0xbbaf56ef
jle 0x43f33c
cmp eax, 0xbbaf56f0
je 0x43f5f5
cmp eax, 0xc275a18f
je 0x43f2b9
cmp eax, 0xc37141f3
jne 0x43efc3
jmp 0x43f67b
cmp eax, 0x1e35e005
jg 0x43f367
cmp eax, 0x12ec38b2
je 0x43f400
cmp eax, 0x1cb59434
jne 0x43efc3
imul ebx, dword [esp + 8], 0xea000
add ebx, 0xffff518e
mov dword [esp + 8], ebx
push ebx
call fcn.0043efa8
add esp, 4
mov eax, 0x1249dc0b
cmp ebx, 0x25
jge 0x43f5ed
mov eax, 0xedfbd3cf
jmp 0x43f5ed
cmp eax, 0x8b71f59b
jg 0x43f3bb
cmp eax, 0x81fa49ba
je 0x43f442
cmp eax, 0x87a2011e
jne 0x43efc3
mov eax, dword [esp + 8]
lea ecx, [eax + eax*4]
lea ecx, [eax + ecx*2]
add ecx, 0xffffffca
mov dword [esp + 8], ecx
mov eax, 0x1cb59434
cmp ecx, 0xd8
jae 0x43f3b1
jmp 0x43f5ed
cmp eax, 0x4034fc6c
je 0x43f550
cmp eax, 0x4131dcee
jne 0x43efc3
mov dword [esp], 0x81fa49ba
jmp 0x43efc3
cmp eax, 0xd2d87be9
je 0x43f61a
cmp eax, 0xd4622810
jne 0x43efc3
mov ecx, dword [esp + 8]
shr ecx, 0xd
mov dword [esp + 8], ecx
mov eax, 0x1249dc0b
cmp ecx, 0x84
jne 0x43f438
jmp 0x43f5ed
cmp eax, 0x22eb69f6
je 0x43f564
cmp eax, 0x2c387bd3
jne 0x43efc3
mov dword [esp + 8], ebp
push ebp
call fcn.0043efa8
add esp, 4
mov dword [esp], 0x9978191a
jmp 0x43efc3
cmp eax, 0x9978191a
je 0x43f64e
cmp eax, 0xa5ae260f
jne 0x43efc3
movzx eax, byte [esp + 7]
add eax, 0xd
mov dword [esp + 0x20], eax
mov dword [esp], 0x4d070cd3
jmp 0x43efc3
cmp eax, 0x6753933f
je case.default.0x43f51f
cmp eax, 0x69962771
jne 0x43efc3
mov eax, dword [esp + 8]
shr eax, 7
imul ebx, eax, 0xa410
add ebx, 0x936660
mov dword [esp + 8], ebx
push ebx
call fcn.0043efa8
add esp, 4
mov eax, 0xedfbd3cf
cmp ebx, 0x2c
jae 0x43f438
jmp 0x43f5ed
cmp eax, 0xb2a1aad2
je case.0x43f51f.3
cmp eax, 0xb8b656b8
jne 0x43efc3
mov eax, dword [0x7ffe026c]
mov dword [esp + 0x14], eax
mov dword [esp], 0xaeaab18d
jmp 0x43efc3
cmp eax, 0x1e35e006
je 0x43f510
cmp eax, 0x1f5e02cd
jne 0x43efc3
mov ebx, dword [esp + 8]
and ebx, 0xfffffff0
shl ebx, 0xa
add ebx, 0xffffff16
mov dword [esp + 8], ebx
push ebx
call fcn.0043efa8
add esp, 4
push ebx
call fcn.0043efa8
add esp, 4
mov eax, 0x9978191a
cmp ebx, 3
jge 0x43f5ed
mov eax, 0x1249dc0b
jmp 0x43f5ed
cmp eax, 0x8b71f59c
je 0x43f573
cmp eax, 0x96f251ba
jne 0x43efc3
mov ecx, dword [esp + 8]
add ecx, 0xffffffb5
shr ecx, 0xa
add ecx, 0xfffffe95
mov dword [esp + 8], ecx
mov eax, 0x1f5e02cd
cmp ecx, 0xbd
je 0x43f5ed
mov eax, 0xbbaf56f0
jmp 0x43f5ed
mov eax, dword [esp + 8]
mov ecx, 0xf8
add eax, ecx
shr eax, 0x18
lea eax, [eax + eax*8]
lea ebx, [eax + eax*8]
add ebx, 0xee
mov dword [esp + 8], ebx
push ebx
call fcn.0043efa8
add esp, 4
mov eax, 0xd4622810
cmp ebx, 0xf3
je 0x43f5ed
mov eax, 0x9978191a
jmp 0x43f5ed
mov eax, dword [esp + 0x1c]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
mov dword [esi + 4], eax
mov dword [esp], 0xc37141f3
jmp 0x43efc3
mov eax, dword [esp + 0xc]
shr eax, 0xa
lea ecx, [eax - 0xa5]
imul ecx, ecx
imul edx, ecx, 0x62ef
dec edx
add eax, 0xffffff8c
shr eax, 2
mov dword [esp + 0xc], eax
mov eax, 0xa5ae260f
cmp edx, ecx
je 0x43f48b
mov eax, 0x6753933f
mov dword [esp], eax
mov edi, dword [esp + 0x20]
jmp 0x43efc3
imul eax, dword [esp + 0xc], 0x1a40000
add eax, 0xffce8000
mov dword [esp + 0xc], eax
mov dword [esp], 0x3de22966
jmp 0x43efc3
mov eax, dword [esp + 8]
shr eax, 6
imul ecx, eax, 0x8a
mov dword [esp + 8], ecx
mov eax, 0x12ec38b2
cmp ecx, 0x6c
je 0x43f5ed
mov eax, 0x96f251ba
jmp 0x43f5ed
movzx eax, byte [esp + 7]
mov dword [esp + 0x28], eax
mov dword [esp], 0x3e41e8cd
jmp 0x43efc3
mov eax, dword [esp + 0x14]
cmp eax, 5
je 0x43f53a
cmp eax, 6
je 0x43f510
xor edi, edi
cmp eax, 0xa
je 0x43f2db
jmp case.default.0x43f51f
xor edi, edi
mov eax, dword [esp + 0x10]
cmp eax, 3
ja case.default.0x43f51f
jmp dword [eax*4 + 0x466dd8]
movzx edi, byte [esp + 7]
add edi, 5
mov dword [esp], 0x6753933f
jmp 0x43efc3
mov eax, dword [esp + 0x10]
test eax, eax
je 0x43f564
cmp eax, 1
je 0x43f666
cmp eax, 2
jne 0x43f573
movzx edi, byte [esp + 7]
add edi, 3
mov dword [esp], 0x6753933f
jmp 0x43efc3
mov dword [esp], 0x6753933f
xor edi, edi
inc edi
jmp 0x43efc3
mov dword [esp], 0x6753933f
xor edi, edi
jmp 0x43efc3
movzx edi, byte [esp + 7]
add edi, 7
mov dword [esp], 0x6753933f
jmp 0x43efc3
movzx eax, byte [esp + 7]
add eax, 9
mov dword [esp + 0x24], eax
mov dword [esp], 0xd2d87be9
jmp 0x43efc3
movzx edi, byte [esp + 7]
add edi, 0xb
mov dword [esp], 0x6753933f
jmp 0x43efc3
imul ebx, dword [esp + 8], 0x7b000
mov dword [esp + 8], ebx
push ebx
call fcn.0043efa8
add esp, 4
push ebx
call fcn.0043efa8
add esp, 4
mov eax, 0x63c138c0
test ebx, ebx
je 0x43f5ed
mov eax, 0x87a2011e
mov dword [esp], eax
jmp 0x43efc3
mov eax, dword [esp + 8]
shl eax, 6
add eax, 0xfffff580
mov dword [esp + 8], eax
push eax
call fcn.0043efa8
add esp, 4
mov dword [esp], 0x1249dc0b
jmp 0x43efc3
mov eax, dword [esp + 0xc]
mov ecx, eax
shr ecx, 3
shr eax, 0x11
imul ecx, ecx
imul edx, ecx, 0x7b57
dec edx
mov dword [esp + 0xc], eax
mov eax, 0x9978191a
cmp ecx, edx
je 0x43f642
mov eax, 0x6753933f
mov dword [esp], eax
mov edi, dword [esp + 0x24]
jmp 0x43efc3
cmp dword [0x7ffe0264], 2
sete byte [esp + 7]
mov dword [esp], 0x626988b8
jmp 0x43efc3
mov edi, 2
mov dword [esp + 0x2c], edi
mov dword [esp], 0xedfbd3cf
jmp 0x43efc3
mov dword [esp + 0x18], edi
mov eax, dword [esp + 0x14]
mov dword [esi], eax
mov eax, dword [esp + 0x28]
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x2c]
add esp, 0x30
pop esi
pop edi
pop ebx
pop ebp
ret