Function at 0x42f39c
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], 0xd818de76
lea edi, [esi + 4]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp]
cmp eax, 0x1964a6a7
jg 0x42f403
cmp eax, 0xcde2a731
jg 0x42f45a
cmp eax, 0xb2cc8519
jg 0x42f52a
cmp eax, 0x9fdb67c8
jle 0x42f624
cmp eax, 0x9fdb67c9
je 0x42f891
cmp eax, 0xa8c75e36
je case.0x42f836.2
cmp eax, 0xacefb05c
je 0x42f758
jmp 0x42f3b5
cmp eax, 0x43b4407c
jg 0x42f4ae
cmp eax, 0x293a4e13
jg 0x42f55b
cmp eax, 0x1ef00047
jle 0x42f658
cmp eax, 0x1ef00048
je 0x42f8d0
cmp eax, 0x25b4543f
je 0x42f8f2
cmp eax, 0x27d54627
jne 0x42f3b5
mov eax, dword [0x7ffe026c]
mov dword [esp + 0x14], eax
mov dword [esp], 0x89170e67
jmp 0x42f3b5
cmp eax, 0xdd6be
jg 0x42f58c
cmp eax, 0xd818de75
jle 0x42f6a7
cmp eax, 0xd818de76
je 0x42f90a
cmp eax, 0xfbf14b31
je 0x42f916
cmp eax, 0xfd691bec
jne 0x42f3b5
imul eax, dword [esp + 0xc], 0x4cb3e338
add eax, 0xbc0e3b18
mov dword [esp + 0xc], eax
mov dword [esp], 0x1ec15ad4
jmp 0x42f3b5
cmp eax, 0x5e8de549
jg 0x42f5cd
cmp eax, 0x5a2f4ff4
jle 0x42f6e4
cmp eax, 0x5a2f4ff5
je 0x42f935
cmp eax, 0x5aed916e
je 0x42f94c
cmp eax, 0x5c5835ad
jne 0x42f3b5
imul ebx, dword [esp + 8], 0x8c
add ebx, 0xe86c
shr ebx, 0xe
add ebx, 0xffffff45
mov dword [esp + 8], ebx
push ebx
call fcn.0042f39c
add esp, 4
push ebx
call fcn.0042f39c
add esp, 4
mov eax, 0x25b4543f
cmp ebx, 0x5c
je 0x42fa29
mov eax, 0x7576378
jmp 0x42fa29
cmp eax, 0xb3b84474
jle 0x42f724
cmp eax, 0xb3b84475
je 0x42f97f
cmp eax, 0xb4b9349a
je 0x42f99b
cmp eax, 0xb5726028
je 0x42f68f
jmp 0x42f3b5
cmp eax, 0x2ed4b61e
jle 0x42f766
cmp eax, 0x2ed4b61f
je case.0x42f836.0
cmp eax, 0x33dae76c
je 0x42f9b3
cmp eax, 0x410b6d0d
je case.0x42f836.3
jmp 0x42f3b5
cmp eax, 0x1541b13
jle 0x42f7a7
cmp eax, 0x1541b14
je 0x42f804
cmp eax, 0x4bded57
je 0x42f9d3
cmp eax, 0x7576378
jne 0x42f3b5
movzx eax, byte [esp + 7]
mov dword [esp + 0x28], eax
mov dword [esp], 0x43b4407d
jmp 0x42f3b5
cmp eax, 0x72c4531f
jle 0x42f7ed
cmp eax, 0x7ccb0544
je 0x42f827
cmp eax, 0x7ed04493
jne 0x42fae1
mov eax, dword [esp + 8]
mov ecx, 0xffffff66
add eax, ecx
shr eax, 8
imul ecx, eax, 0x55
add ecx, 0xffffbd98
mov dword [esp + 8], ecx
mov eax, 0x9fdb67c9
cmp ecx, 0xe1
jae 0x42fa29
mov eax, 0x2ccbb42d
jmp 0x42fa29
cmp eax, 0x83112651
je 0x42fa03
cmp eax, 0x89170e67
jne 0x42f3b5
mov eax, dword [0x7ffe0270]
mov dword [esp + 0x10], eax
mov eax, dword [0x7ffe0260]
mov dword [esp + 0x1c], eax
mov dword [esp], 0x25b4543f
jmp 0x42f3b5
cmp eax, 0x1964a6a8
je 0x42fa31
cmp eax, 0x1ec15ad4
jne 0x42f3b5
mov eax, dword [esp + 0x14]
cmp eax, 5
je 0x42f73a
cmp eax, 6
je 0x42f827
xor ebp, ebp
cmp eax, 0xa
jne case.default.0x42f836
movzx eax, byte [esp + 7]
add eax, 0xd
mov dword [esp + 0x20], eax
mov dword [esp], 0xb4b9349a
jmp 0x42f3b5
cmp eax, 0xcde2a732
je 0x42fa4c
cmp eax, 0xd679a096
jne 0x42f3b5
mov eax, dword [esp + 8]
mov ecx, 0xc8
add eax, ecx
shr eax, 7
imul eax, eax, 0xce34
shr eax, 0xf
mov dword [esp + 8], eax
mov dword [esp], 0x89170e67
jmp 0x42f3b5
cmp eax, 0x43b4407d
je 0x42f8e6
cmp eax, 0x5602a2d7
jne 0x42f3b5
mov ebx, dword [esp + 8]
shl ebx, 6
add ebx, 0x69
mov dword [esp + 8], ebx
push ebx
call fcn.0042f39c
add esp, 4
mov eax, 0x5c5835ad
cmp ebx, 0x30
jae 0x42f8c6
jmp 0x42fa29
cmp eax, 0xb2cc851a
je 0x42fa89
cmp eax, 0xb2fbf1fe
jne 0x42f3b5
mov eax, dword [esp + 0x10]
test eax, eax
je 0x42f804
cmp eax, 1
je 0x42facc
cmp eax, 2
je 0x42f813
mov dword [esp], 0x681c0f20
xor ebp, ebp
jmp 0x42f3b5
cmp eax, 0x293a4e14
je 0x42f813
cmp eax, 0x2ccbb42d
jne 0x42f3b5
mov ebx, dword [esp + 8]
mov eax, 0xffffff48
add ebx, eax
mov dword [esp + 8], ebx
push ebx
call fcn.0042f39c
add esp, 4
mov eax, 0x89170e67
cmp ebx, 0x74
jge 0x42fa24
jmp 0x42fa29
cmp eax, 0xdd6bf
je 0x42fab1
cmp eax, 0x14e076b
jne 0x42f3b5
mov eax, dword [esp + 8]
mov ecx, 0xfffffec3
add eax, ecx
shr eax, 4
imul ecx, eax, 0xc44
mov dword [esp + 8], ecx
mov eax, 0x83112651
cmp ecx, 0x5a
jae 0x42fa29
mov eax, 0xcde2a732
jmp 0x42fa29
cmp eax, 0x5e8de54a
je case.0x42f836.1
cmp eax, 0x681c0f20
je case.default.0x42f836
jmp 0x42f3b5
mov dword [esp], 0x681c0f20
xor ebp, ebp
inc ebp
jmp 0x42f3b5
movzx ebp, byte [esp + 7]
add ebp, 3
mov dword [esp], 0x681c0f20
jmp 0x42f3b5
xor ebp, ebp
mov eax, dword [esp + 0x10]
cmp eax, 3
ja case.default.0x42f836
jmp dword [eax*4 + 0x455138]
movzx ebp, byte [esp + 7]
add ebp, 5
mov dword [esp], 0x681c0f20
jmp 0x42f3b5
movzx eax, byte [esp + 7]
add eax, 7
mov dword [esp + 0x24], eax
mov dword [esp], 0xfbf14b31
jmp 0x42f3b5
movzx ebp, byte [esp + 7]
add ebp, 9
mov dword [esp], 0x681c0f20
jmp 0x42f3b5
movzx ebp, byte [esp + 7]
add ebp, 0xb
mov dword [esp], 0x681c0f20
jmp 0x42f3b5
imul ebx, dword [esp + 8], 0xc3
add ebx, 0xffff686b
mov dword [esp + 8], ebx
push ebx
call fcn.0042f39c
add esp, 4
push ebx
call fcn.0042f39c
add esp, 4
mov eax, 0x25b4543f
cmp ebx, 0xb5
jge 0x42fa29
mov eax, 0x89170e67
jmp 0x42fa29
imul eax, dword [esp + 8], 0x7f00
add eax, 0xffe94000
and eax, 0xffffc000
mov dword [esp + 8], eax
mov dword [esp], 0x5a2f4ff5
jmp 0x42f3b5
cmp dword [0x7ffe0264], 2
sete byte [esp + 7]
mov dword [esp], 0xfd691bec
jmp 0x42f3b5
mov dword [esp], 0x27d54627
jmp 0x42f3b5
mov eax, dword [esp + 0xc]
lea eax, [eax*4 - 0x98]
mov dword [esp + 0xc], eax
mov dword [esp], 0x681c0f20
mov ebp, dword [esp + 0x24]
jmp 0x42f3b5
mov eax, dword [esp + 0x1c]
mov dword [esi + 8], eax
mov dword [esp + 0x2c], edi
mov dword [esp], 0xdd6bf
jmp 0x42f3b5
imul eax, dword [esp + 8], 0x1e8
add eax, 0x2e4d60
mov ebx, 0x89170e67
and eax, 0xffff0000
mov dword [esp + 8], eax
je 0x42f96e
mov ebx, 0x5a2f4ff5
push eax
call fcn.0042f39c
add esp, 4
mov dword [esp], ebx
jmp 0x42f3b5
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x2c]
mov dword [ecx], eax
mov eax, dword [esp + 0x14]
mov dword [esi], eax
mov dword [esp], 0x1964a6a8
jmp 0x42f3b5
mov dword [esp + 0xc], 0x1c
mov dword [esp], 0x681c0f20
mov ebp, dword [esp + 0x20]
jmp 0x42f3b5
mov ecx, dword [esp + 8]
mov eax, 0x3fffffff
and ecx, eax
mov dword [esp + 8], ecx
mov eax, 0x89170e67
cmp ecx, 0x5c
jae 0x42fa29
mov eax, 0xb5726028
jmp 0x42fa29
imul ebx, dword [esp + 8], 0x381c000
add ebx, 0xfff96c33
mov dword [esp + 8], ebx
push ebx
call fcn.0042f39c
add esp, 4
push ebx
call fcn.0042f39c
add esp, 4
mov dword [esp], 0xb5726028
jmp 0x42f3b5
mov ecx, dword [esp + 8]
mov eax, 0xa5
add ecx, eax
mov eax, ecx
shr eax, 0xd
mov dword [esp + 8], eax
mov eax, 0x5aed916e
cmp ecx, 0x152000
jae 0x42fa29
mov eax, 0x25b4543f
mov dword [esp], eax
jmp 0x42f3b5
imul eax, dword [esp + 0xc], 0x31f61400
or eax, 0x6f
mov dword [esp + 0xc], eax
mov dword [esp], 0x72c45320
jmp 0x42f3b5
mov eax, dword [esp + 8]
shr eax, 3
imul eax, eax, 0xf3
add eax, 0xffffff62
shr eax, 0xd
and eax, 0xfffffffe
lea ebx, [eax + eax*2]
mov dword [esp + 8], ebx
push ebx
call fcn.0042f39c
add esp, 4
push ebx
call fcn.0042f39c
add esp, 4
mov dword [esp], 0x25b4543f
jmp 0x42f3b5
mov eax, dword [esp + 8]
shl eax, 0xc
and eax, 0x7ff000
or eax, 0x71
mov dword [esp + 8], eax
push eax
call fcn.0042f39c
add esp, 4
mov dword [esp], 0x7ed04493
jmp 0x42f3b5
imul eax, dword [esp + 0xc], 0x2266
shr eax, 7
mov dword [esp + 0xc], eax
mov dword [esp], 0xb3b84475
jmp 0x42f3b5
mov ebp, 2
mov dword [esp + 0x30], ebp
mov dword [esp], 0x7576378
jmp 0x42f3b5
cmp eax, 0x72c45320
jne 0x42f3b5
mov dword [esp + 0x18], ebp
mov eax, dword [esp + 0x28]
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x30]
add esp, 0x34
pop esi
pop edi
pop ebx
pop ebp
ret