Function at 0x14000f3e7
Capabilities:
Get system information on windows

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x190
mov rsi, rcx
lea rcx, [0x14015cda0]
call sub.KERNEL32.dll_GetModuleHandleA
test rax, rax
je 0x14000f610
lea rdx, str.RtlGetVersion
mov rcx, rax
call sub.KERNEL32.dll_GetProcAddress
mov rdi, rax
lea rbx, [rsp + 0x74]
mov r8d, 0x118
mov rcx, rbx
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov dword [rbx - 4], 0x11c
lea rcx, [rsp + 0x70]
call rdi
test eax, eax
jne 0x14000f69c
mov r14, qword [rsp + 0x74]
mov bl, byte [rsp + 0x18a]
mov rdi, r14
shr rdi, 0x20
cmp r14d, 5
je 0x14000f49d
cmp r14d, 6
je 0x14000f540
cmp r14d, 0xa
jne case.default.0x14000f555
test edi, edi
jne case.default.0x14000f555
cmp bl, 1
jne 0x14000f78d
mov ecx, 2
xor edx, edx
call fcn.14000f8ee
mov word [rax], 0x3031
jmp 0x14000f6f5
test edi, edi
je 0x14000f6ba
cmp edi, 1
je 0x14000f6e4
cmp edi, 2
jne case.default.0x14000f555
movzx ebp, word [rsp + 0x188]
mov ecx, 0x59
call sub.USER32.dll_GetSystemMetrics
test eax, eax
jne case.default.0x14000f555
xorps xmm0, xmm0
lea rcx, [rsp + 0x70]
movaps xmmword [rcx + 0x20], xmm0
movaps xmmword [rcx + 0x10], xmm0
movaps xmmword [rcx], xmm0
call sub.KERNEL32.dll_GetSystemInfo
test bp, bp
js 0x14000f860
cmp bl, 1
jne 0x14000f882
cmp word [rsp + 0x70], 9
jne 0x14000f882
mov ecx, 0x1b
xor edx, edx
call fcn.14000f8ee
movups xmm0, xmmword [str.xp_professional_x64_edition.]
movups xmmword [rax], xmm0
movups xmm0, xmmword [0x14015ce13]
movups xmmword [rax + 0xb], xmm0
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x30], 0x1b
jmp 0x14000f5e5
cmp edi, 3
ja case.default.0x14000f555
mov eax, edi
lea rcx, [0x14015ce48]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
cmp bl, 1
jne 0x14000f7b2
mov ecx, 5
xor edx, edx
call fcn.14000f8ee
mov dword [rax], 0x74736976
mov byte [rax + 4], 0x61
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x30], 5
jmp 0x14000f5e5
lea rax, [rsp + 0x3c]
mov dword [rax], r14d
lea rcx, [rsp + 0x40]
mov dword [rcx], edi
lea r8, [rsp + 0x50]
mov qword [r8], rax
lea rax, [0x1400b5100]
mov qword [r8 + 8], rax
lea r9, [0x14015ce28]
lea rdx, [rsp + 0x70]
mov qword [rdx], r9
mov r9d, 2
mov qword [rdx + 8], r9
and qword [rdx + 0x20], 0
mov qword [r8 + 0x10], rcx
mov qword [r8 + 0x18], rax
mov qword [rdx + 0x10], r8
mov qword [rdx + 0x18], r9
lea rcx, [rsp + 0x20]
call fcn.14000f344
mov rax, qword [rsp + 0x30]
mov qword [rsi + 0x10], rax
mov rax, qword [rsp + 0x20]
mov qword [rsi], rax
mov rax, qword [rsp + 0x28]
mov qword [rsi + 8], rax
mov rax, rsi
add rsp, 0x190
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret
lea rdx, [0x14015cda0]
lea rdi, [rsp + 0x50]
mov r8d, 6
mov rcx, rdi
call fcn.1400ac440
lea rax, [rsp + 0x40]
mov qword [rax], rdi
lea rcx, [0x14015cde8]
lea rdx, [rsp + 0x70]
mov qword [rdx], rcx
mov qword [rdx + 8], 2
and qword [rdx + 0x20], 0
lea rcx, [0x14000f3c6]
mov qword [rax + 8], rcx
mov qword [rdx + 0x10], rax
mov qword [rdx + 0x18], 1
lea rcx, [rsp + 0x20]
call fcn.14000f344
cmp qword [rdi], 0
je 0x14000f67f
lea rcx, [rsp + 0x50]
call fcn.1400011f2
movups xmm0, xmmword [rsp + 0x20]
lea rcx, [rsp + 0x70]
movaps xmmword [rcx], xmm0
mov rax, qword [rsp + 0x30]
mov qword [rcx + 0x10], rax
call fcn.140147045
jmp 0x14000f6ad
lea rcx, str.Failed_to_get_versionGetModuleHandleA___failed
mov edx, reloc.WS2_32.dll_setsockopt
call fcn.14014704a
mov qword [rsi + 8], rax
and qword [rsi], 0
jmp 0x14000f5ff
mov ecx, 4
xor edx, edx
call fcn.14000f8ee
mov dword [rax], 0x30303032
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x30], 4
jmp 0x14000f5e5
mov ecx, 2
xor edx, edx
call fcn.14000f8ee
mov word [rax], 0x7078
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x30], 2
jmp 0x14000f5e5
cmp bl, 1
jne 0x14000f7d7
mov ecx, 1
xor edx, edx
call fcn.14000f8ee
mov byte [rax], 0x37
jmp 0x14000f73f
cmp bl, 1
jne 0x14000f7fc
mov ecx, 1
xor edx, edx
call fcn.14000f8ee
mov byte [rax], 0x38
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x30], 1
jmp 0x14000f5e5
cmp bl, 1
jne 0x14000f821
mov ecx, 3
xor edx, edx
call fcn.14000f8ee
mov word [rax], 0x2e38
mov byte [rax + 2], 0x31
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x30], 3
jmp 0x14000f5e5
mov ecx, listen
xor edx, edx
call fcn.14000f8ee
movabs rcx, 0x3220726576726573
mov qword [rax], rcx
mov dword [rax + 7], 0x36313032
jmp 0x14000f8a2
mov ecx, listen
xor edx, edx
call fcn.14000f8ee
movabs rcx, 0x3220726576726573
mov qword [rax], rcx
mov dword [rax + 7], 0x38303032
jmp 0x14000f8a2
mov ecx, select
xor edx, edx
call fcn.14000f8ee
movabs rcx, 0x3220726576726573
mov qword [rax], rcx
movabs rcx, 0x3272203830303220
jmp 0x14000f844
mov ecx, listen
xor edx, edx
call fcn.14000f8ee
movabs rcx, 0x3220726576726573
mov qword [rax], rcx
mov dword [rax + 7], 0x32313032
jmp 0x14000f8a2
mov ecx, select
xor edx, edx
call fcn.14000f8ee
movabs rcx, 0x3220726576726573
mov qword [rax], rcx
movabs rcx, 0x3272203231303220
mov qword [rax + 6], rcx
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x30], send
jmp 0x14000f5e5
mov ecx, listen
xor edx, edx
call fcn.14000f8ee
movabs rcx, 0x72657320656d6f68
mov qword [rax], rcx
mov dword [rax + 7], 0x72657672
jmp 0x14000f8a2
mov ecx, listen
xor edx, edx
call fcn.14000f8ee
movabs rcx, 0x3220726576726573
mov qword [rax], rcx
mov dword [rax + 7], 0x33303032
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x30], send
jmp 0x14000f5e5