Function at 0x43dcb8
Capabilities:
Get os information via kuser_shared_data

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x40
mov eax, dword [esp + 0x54]
mov dword [esp + 4], 0x78a13529
lea ecx, [eax + 4]
mov dword [esp + 0x14], ecx
lea ebx, [eax + 8]
mov edi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 4]
cmp eax, 0x1249dc0a
jg 0x43dd35
cmp eax, 0xb8b656b7
jg 0x43dd90
cmp eax, 0xaa3358af
jg 0x43de0c
cmp eax, 0x99781919
jg 0x43dee6
cmp eax, 0x8b71f59c
je 0x43e05d
cmp eax, 0x96f251ba
jne 0x43e29b
imul edi, edi, 0x1c000
add edi, 0xffffd565
mov dword [esp + 4], 0xbbaf56f0
jmp 0x43dcdd
cmp eax, 0x4034fc6b
jg 0x43ddcf
cmp eax, 0x22eb69f5
jg 0x43de43
cmp eax, 0x1e35e005
jg 0x43df01
cmp eax, 0x1249dc0b
je 0x43e07f
cmp eax, 0x12ec38b2
jne 0x43dcdd
shr edi, 5
imul eax, edi, 0xdf
add eax, 0xffff7ab9
shr eax, 4
and eax, 0xffffffe0
lea edi, [eax + eax*2]
mov dword [esp + 4], 0x75fa082a
jmp 0x43dcdd
cmp eax, 0xd2d87be8
jg 0x43de69
cmp eax, 0xc275a18e
jg 0x43df4d
cmp eax, 0xb8b656b8
je 0x43e189
cmp eax, 0xbbaf56f0
jne 0x43dcdd
imul edi, edi, 0x181428
mov dword [esp + 4], 0xd2d87be9
jmp 0x43dcdd
cmp eax, 0x6753933e
jg 0x43dec0
cmp eax, 0x4d070cd2
jg 0x43df9b
cmp eax, 0x4034fc6c
je case.default.0x43e0fd
cmp eax, 0x4131dcee
jne 0x43dcdd
mov dword [esp + 0x34], ebx
mov dword [esp + 4], 0x3e41e8cd
jmp 0x43dcdd
cmp eax, 0xb1bedde2
jg 0x43dfb6
cmp eax, 0xaa3358b0
je 0x43e133
cmp eax, 0xaeaab18d
jne 0x43dcdd
mov eax, dword [0x7ffe0264]
mov dword [esp + 0x24], eax
mov dword [esp + 4], 0xc275a18f
jmp 0x43dcdd
cmp eax, 0x3de22965
jg 0x43dfd1
cmp eax, 0x22eb69f6
je 0x43e1b1
cmp eax, 0x327a55ad
je 0x43e0c9
jmp 0x43dcdd
cmp eax, 0xecb12a5e
jg 0x43e006
cmp eax, 0xd2d87be9
je 0x43e1ec
cmp eax, 0xd4622810
jne 0x43dcdd
imul edi, edi, 0x36c85c0
add edi, 0xffffff16
push edi
call fcn.0043dcb8
add esp, 4
push edi
call fcn.0043dcb8
add esp, 4
mov eax, 0xd2d87be9
cmp edi, 0x34
jb 0x43e260
mov eax, 0x1249dc0b
jmp 0x43e260
cmp eax, 0x75fa0829
jg 0x43e03a
cmp eax, 0x6753933f
je 0x43e119
cmp eax, 0x6a667c0f
je 0x43e0b3
jmp 0x43dcdd
cmp eax, 0x9978191a
je 0x43e09e
cmp eax, 0xa5ae260f
je case.0x43e0fd.2
jmp 0x43dcdd
cmp eax, 0x1e35e006
je case.0x43e0fd.1
cmp eax, 0x1f5e02cd
jne 0x43dcdd
mov esi, edi
shr esi, 1
add esi, 0xffffffb1
push esi
call fcn.0043dcb8
add esp, 4
push esi
call fcn.0043dcb8
add esp, 4
mov eax, 0x1249dc0b
cmp edi, 0xa8
jb 0x43df42
mov eax, 0xaeaab18d
mov dword [esp + 4], eax
mov edi, esi
jmp 0x43dcdd
cmp eax, 0xc275a18f
je 0x43e202
cmp eax, 0xc37141f3
jne 0x43dcdd
imul eax, dword [esp + 8], 0xbd
lea ecx, [eax - 0x51f3]
imul ecx, ecx
imul edx, ecx, 0x905
dec edx
add eax, 0xffffaeb9
mov dword [esp + 8], eax
mov eax, 0x3e41e8cd
cmp edx, ecx
je 0x43e260
mov eax, 0x81fa49ba
jmp 0x43e260
cmp eax, 0x4d070cd3
je 0x43e220
cmp eax, 0x626988b8
je case.0x43e0fd.3
jmp 0x43dcdd
cmp eax, 0xb1bedde3
je 0x43e0de
cmp eax, 0xb2a1aad2
je case.0x43e0fd.0
jmp 0x43dcdd
cmp eax, 0x3de22966
je 0x43e0ee
cmp eax, 0x3e41e8cd
jne 0x43dcdd
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x34]
mov dword [ecx], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x38], eax
mov dword [esp + 4], 0xc37141f3
jmp 0x43dcdd
cmp eax, 0xecb12a5f
je 0x43e22d
cmp eax, 0xedfbd3cf
jne 0x43dcdd
imul eax, dword [esp + 8], 0x2a80000
add eax, 0xf6b400ae
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4d070cd3
jmp 0x43dcdd
cmp eax, 0x75fa082a
je 0x43e269
cmp eax, 0x78a13529
jne 0x43dcdd
mov dword [esp + 4], 0xb8b656b8
jmp 0x43dcdd
imul eax, dword [esp + 8], 0x388c
add eax, 0xb85e
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4034fc6c
mov ebp, dword [esp + 0x28]
jmp 0x43dcdd
mov eax, dword [esp + 0x24]
cmp eax, 2
sete byte [esp + 3]
mov eax, dword [esp + 0x10]
cmp eax, 5
je 0x43e0b3
cmp eax, 6
je 0x43e0ee
cmp eax, 0xa
jne 0x43e119
movzx ebp, byte [esp + 3]
add ebp, 0xd
mov dword [esp + 4], 0x4034fc6c
jmp 0x43dcdd
mov eax, dword [esp + 0xc]
test eax, eax
je 0x43e0de
cmp eax, 1
je 0x43e285
cmp eax, 2
jne 0x43e133
movzx ebp, byte [esp + 3]
add ebp, 3
mov dword [esp + 4], 0x4034fc6c
jmp 0x43dcdd
mov dword [esp + 4], 0x4034fc6c
xor ebp, ebp
inc ebp
jmp 0x43dcdd
xor ebp, ebp
mov eax, dword [esp + 0xc]
cmp eax, 3
ja case.default.0x43e0fd
jmp dword [eax*4 + 0x465e48]
movzx ebp, byte [esp + 3]
add ebp, 5
mov dword [esp + 4], 0x4034fc6c
jmp 0x43dcdd
imul eax, dword [esp + 8], 0x1c60000
or eax, 0xf80
lea eax, [eax + eax*2]
shr eax, 0xc
add eax, 0x46
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4034fc6c
xor ebp, ebp
jmp 0x43dcdd
movzx eax, byte [esp + 3]
add eax, 7
mov dword [esp + 0x2c], eax
mov dword [esp + 4], 0x22eb69f6
jmp 0x43dcdd
movzx ebp, byte [esp + 3]
add ebp, 9
mov dword [esp + 4], 0x4034fc6c
jmp 0x43dcdd
movzx eax, byte [esp + 3]
add eax, 0xb
mov dword [esp + 0x28], eax
mov dword [esp + 4], 0x8b71f59c
jmp 0x43dcdd
mov eax, dword [0x7ffe026c]
mov dword [esp + 0x10], eax
mov eax, dword [0x7ffe0270]
mov dword [esp + 0xc], eax
mov eax, dword [0x7ffe0260]
mov dword [esp + 0x20], eax
mov dword [esp + 4], 0xaeaab18d
jmp 0x43dcdd
imul ecx, dword [esp + 8], 0xed
add ecx, 0x13b
imul ecx, ecx
imul edx, ecx, 0x5cb3
dec edx
mov dword [esp + 8], 0
mov eax, 0x1249dc0b
cmp ecx, edx
je 0x43e1df
mov eax, 0x4034fc6c
mov dword [esp + 4], eax
mov ebp, dword [esp + 0x2c]
jmp 0x43dcdd
movzx eax, byte [esp + 3]
mov dword [esp + 0x30], eax
mov dword [esp + 4], 0xedfbd3cf
jmp 0x43dcdd
mov eax, dword [esp + 8]
shl eax, 8
add eax, 0xffffffc1
shr eax, 3
mov dword [esp + 8], eax
mov dword [esp + 4], 0x1249dc0b
jmp 0x43dcdd
mov dword [esp + 4], 0x4131dcee
jmp 0x43dcdd
shr edi, 0xd
add edi, 0xffffff4f
shr edi, 4
add edi, 0xffffffe2
push edi
call fcn.0043dcb8
add esp, 4
push edi
call fcn.0043dcb8
add esp, 4
mov eax, 0x96f251ba
cmp edi, 0xfe
je 0x43e260
mov eax, 0x12ec38b2
mov dword [esp + 4], eax
jmp 0x43dcdd
shl edi, 0xa
add edi, 0xffffffbf
push edi
call fcn.0043dcb8
add esp, 4
mov dword [esp + 4], 0x1249dc0b
jmp 0x43dcdd
mov ebp, 2
mov dword [esp + 0x3c], ebp
mov dword [esp + 4], 0xd2d87be9
jmp 0x43dcdd
cmp eax, 0x81fa49ba
jne 0x43dcdd
mov dword [esp + 0x1c], edi
mov dword [esp + 0x18], ebp
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x38]
mov dword [ecx], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x54]
mov dword [ecx], eax
mov eax, dword [esp + 0x30]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x3c]
add esp, 0x40
pop esi
pop edi
pop ebx
pop ebp
ret