Function at 0x4307a8
Capabilities:
Get os information via kuser_shared_data

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x38
mov esi, dword [esp + 0x4c]
mov dword [esp + 4], 0x204b3ed8
lea ebx, [esi + 0xc]
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 4]
cmp eax, 0x17dbd9f6
jg 0x430827
cmp eax, 0xd7df6f28
jle 0x430867
cmp eax, 0xe88c2599
jle 0x4308dd
cmp eax, 0xda8ad0c
jg 0x4309e0
cmp eax, 0xe88c259a
je 0x430b26
cmp eax, 0x64d2d51
jne 0x4307c6
lea eax, [edi + edi*8]
lea edi, [edi + eax*2]
add edi, 0xdf
push edi
call fcn.004307a8
add esp, 4
push edi
call fcn.004307a8
add esp, 4
jmp 0x430ac3
cmp eax, 0x5577d6d3
jg 0x430898
cmp eax, 0x2154265b
jle 0x43090b
cmp eax, 0x435e3da0
jg 0x430a1b
cmp eax, 0x2154265c
je 0x430b45
cmp eax, 0x359a4a84
jne 0x4307c6
mov dword [esp + 4], 0xca7d9612
jmp 0x4307c6
cmp eax, 0xb215b34f
jle 0x430942
cmp eax, 0xc92049e6
jg 0x430a71
cmp eax, 0xb215b350
je 0x430b5b
cmp eax, 0xbe8bd9a0
je case.default.0x430bc6
jmp 0x4307c6
cmp eax, 0x6fa4c2e3
jle 0x430995
cmp eax, 0x71c5912d
jg 0x430aa0
cmp eax, 0x6fa4c2e4
je 0x430986
cmp eax, 0x709e7a25
jne 0x4307c6
movzx eax, byte [esp + 3]
add eax, 0xd
mov dword [esp + 0x20], eax
mov dword [esp + 4], 0xb215b350
jmp 0x4307c6
cmp eax, 0xdee81454
jg 0x430af9
cmp eax, 0xd7df6f29
je 0x430b9c
cmp eax, 0xd91beb26
jne 0x4307c6
mov dword [esp + 4], 0x79499e71
jmp 0x4307c6
cmp eax, 0x17dbd9f7
je 0x430ac3
cmp eax, 0x1ab0e90e
je 0x430ad0
cmp eax, 0x204b3ed8
jne 0x4307c6
mov eax, dword [0x7ffe026c]
mov dword [esp + 0x10], eax
mov dword [esp + 4], 0x17dbd9f7
jmp 0x4307c6
cmp eax, 0x8a7477c9
je case.0x430bc6.1
cmp eax, 0x934be26f
je 0x430c36
cmp eax, 0x9a29c658
jne 0x4307c6
mov eax, dword [esp + 0xc]
test eax, eax
je 0x430ad0
mov ebp, 2
cmp eax, 1
je case.default.0x430bc6
cmp eax, 2
je 0x430ae0
mov dword [esp + 4], 0xbe8bd9a0
xor ebp, ebp
jmp 0x4307c6
cmp eax, 0x5577d6d4
je 0x430bbb
cmp eax, 0x5b1bebb4
je 0x430ae0
cmp eax, 0x614631bb
jne 0x4307c6
mov eax, dword [esp + 8]
shr eax, 7
imul eax, eax, 0xca
add eax, 0xffffc1b4
shr eax, 9
mov dword [esp + 8], eax
mov dword [esp + 4], 0xbe8bd9a0
mov ebp, dword [esp + 0x24]
jmp 0x4307c6
cmp eax, 0xda8ad0d
je 0x430c73
cmp eax, 0xeec6e15
jne 0x4307c6
mov eax, dword [esp + 0x1c]
mov dword [esi + 8], eax
mov eax, dword [esp + 0xc]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x10]
mov dword [esi], eax
mov dword [esp + 0x30], ebx
mov dword [esp + 4], 0x4616c898
jmp 0x4307c6
cmp eax, 0x435e3da1
je case.0x430bc6.0
cmp eax, 0x4616c898
jne 0x4307c6
mov eax, dword [esp + 8]
shl eax, 0xb
add eax, 0x2b000
shr eax, 0xf
imul ecx, eax, 0xcf
imul eax, eax
imul edx, eax, 0x3987
dec edx
add ecx, 0xffff6cd6
mov dword [esp + 8], ecx
mov ecx, 0x2154265c
cmp eax, edx
je 0x430a68
mov ecx, 0xdee81455
mov dword [esp + 4], ecx
jmp 0x4307c6
cmp eax, 0xc92049e7
je case.0x430bc6.3
cmp eax, 0xca7d9612
jne 0x4307c6
cmp dword [0x7ffe0264], 2
sete byte [esp + 3]
mov dword [esp + 4], 0xe3a20264
jmp 0x4307c6
cmp eax, 0x71c5912e
je case.0x430bc6.2
cmp eax, 0x79499e71
jne 0x4307c6
mov dword [esp + 4], 0xeec6e15
jmp 0x4307c6
mov dword [esp + 4], 0xe88c259a
jmp 0x4307c6
mov dword [esp + 4], 0xbe8bd9a0
xor ebp, ebp
inc ebp
jmp 0x4307c6
movzx eax, byte [esp + 3]
add eax, 3
mov dword [esp + 0x28], eax
mov dword [esp + 4], 0xda8ad0d
jmp 0x4307c6
cmp eax, 0xe3a20264
jne 0x430cab
mov eax, dword [esp + 8]
shl eax, 0x1d
lea eax, [eax + eax*2]
mov ecx, 0xfdc42000
sub ecx, eax
mov dword [esp + 8], ecx
mov dword [esp + 4], 0xd7df6f29
jmp 0x4307c6
mov eax, dword [0x7ffe0270]
mov dword [esp + 0xc], eax
mov eax, dword [0x7ffe0260]
mov dword [esp + 0x1c], eax
mov dword [esp + 4], 0x359a4a84
jmp 0x4307c6
movzx eax, byte [esp + 3]
mov dword [esp + 0x2c], eax
mov dword [esp + 4], 0x934be26f
jmp 0x4307c6
mov eax, dword [esp + 8]
shr eax, 0xc
and eax, 0x1fff
imul ecx, eax, 0x190000
imul eax, eax
imul edx, eax, 0x7a37
dec edx
add ecx, 0xffffff1b
mov dword [esp + 8], ecx
mov ecx, 0x64d2d51
cmp edx, eax
je 0x430b8f
mov ecx, 0xbe8bd9a0
mov dword [esp + 4], ecx
mov ebp, dword [esp + 0x20]
jmp 0x4307c6
mov eax, dword [esp + 0x10]
cmp eax, 5
je 0x430963
cmp eax, 6
je 0x430bbb
xor ebp, ebp
cmp eax, 0xa
je 0x4308c4
jmp case.default.0x430bc6
xor ebp, ebp
mov eax, dword [esp + 0xc]
cmp eax, 3
ja case.default.0x430bc6
jmp dword [eax*4 + 0x456be8]
movzx eax, byte [esp + 3]
add eax, 5
mov dword [esp + 0x24], eax
mov dword [esp + 4], 0x614631bb
jmp 0x4307c6
mov dword [esp + 0x34], ebp
mov dword [esp + 4], 0x2154265c
jmp 0x4307c6
movzx ebp, byte [esp + 3]
add ebp, 7
mov dword [esp + 4], 0xbe8bd9a0
jmp 0x4307c6
movzx ebp, byte [esp + 3]
add ebp, 9
mov dword [esp + 4], 0xbe8bd9a0
jmp 0x4307c6
movzx ebp, byte [esp + 3]
add ebp, 0xb
mov dword [esp + 4], 0xbe8bd9a0
jmp 0x4307c6
mov eax, dword [esp + 8]
lea ecx, [eax + eax*2]
lea edx, [eax + ecx*4]
lea eax, [eax + ecx*4]
add eax, 0xffffffaa
imul edx, edx
imul ecx, edx, 0x4335
shr eax, 0xc
dec ecx
add eax, 0xffffff4e
mov dword [esp + 8], eax
mov eax, 0xca7d9612
cmp edx, ecx
je 0x430c6a
mov eax, 0xd91beb26
mov dword [esp + 4], eax
jmp 0x4307c6
mov eax, dword [esp + 8]
add eax, 0xffffffb6
mov ecx, eax
imul ecx, eax
shl eax, 0xe
imul edx, ecx, 0x7849
or eax, 0x34
dec edx
mov dword [esp + 8], eax
mov eax, 0xe88c259a
cmp ecx, edx
je 0x430c9e
mov eax, 0xbe8bd9a0
mov dword [esp + 4], eax
mov ebp, dword [esp + 0x28]
jmp 0x4307c6
cmp eax, 0xdee81455
jne 0x4307c6
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], ebp
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov dword [ecx], eax
mov eax, dword [esp + 0x34]
add esp, 0x38
pop esi
pop edi
pop ebx
pop ebp
ret