Function at 0x18000939c
Capabilities:
Check os version
Get system information on windows

Disassembly:
push rbx
sub rsp, 0x110
mov rax, qword [0x18002b028]
xor rax, rsp
mov qword [rsp + 0x100], rax
mov eax, dword [0x1800306a0]
test eax, eax
jne 0x180009621
lea rcx, [rsp + 0x64]
xor edx, edx
mov r8d, 0x98
call fcn.180015e20
lea rcx, [rsp + 0x60]
mov dword [rsp + 0x60], 0x9c
call qword [sym.imp.KERNEL32.dll_GetVersionExA]
test eax, eax
jne 0x180009410
lea rcx, [rsp + 0x60]
mov dword [rsp + 0x60], 0x94
call qword [sym.imp.KERNEL32.dll_GetVersionExA]
test eax, eax
jne 0x180009410
and dword [0x1800306a0], eax
jmp 0x180009621
xor edx, edx
lea rcx, [rsp + 0x30]
lea r8d, [rdx + 0x30]
call fcn.180015e20
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
and dword [rsp + 0x20], 0
and dword [rsp + 0x28], 0
and dword [rsp + 0x24], 0
lea rcx, [0x1800274b0]
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov rbx, rax
test rax, rax
je 0x180009489
lea rdx, str.RtlGetNtVersionNumbers
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x180009480
lea r8, [rsp + 0x24]
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x28]
call rax
movzx r11d, word [rsp + 0x24]
mov dword [rsp + 0x24], r11d
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [rsp + 0x70]
test eax, eax
je 0x180009614
mov ebx, 1
sub eax, ebx
je 0x1800095ab
cmp eax, ebx
jne 0x18000961b
cmp dword [rsp + 0x28], 6
jne 0x18000950c
mov eax, dword [rsp + 0x20]
test eax, eax
jne 0x1800094c1
lea eax, [rbx + 0xc]
lea ecx, [rbx + 0xa]
jmp 0x180009500
cmp eax, ebx
jne 0x1800094d9
xor eax, eax
cmp byte [rsp + 0xfa], bl
setne al
add eax, 0xc
jmp 0x180009564
cmp eax, 2
jne 0x1800094f3
xor eax, eax
cmp byte [rsp + 0xfa], bl
mov ecx, recv
setne al
add eax, ecx
jmp 0x180009564
cmp eax, 3
jne 0x180009526
mov eax, reloc.WS2_32.dll_recv
lea ecx, [rax - 2]
cmp byte [rsp + 0xfa], bl
cmove eax, ecx
jmp 0x180009564
cmp dword [rsp + 0x28], 0xa
jne 0x180009526
cmp dword [rsp + 0x20], 0
jne 0x180009526
mov dword [0x1800306a0], 0x11
jmp 0x18000957c
cmp dword [rsp + 0x64], 5
jne 0x180009598
cmp dword [rsp + 0x68], 2
jne 0x18000956c
mov ecx, 0x59
call qword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
je 0x18000954f
mov dword [0x1800306a0], 0xa
jmp 0x18000957c
mov eax, 9
cmp byte [rsp + 0xfa], bl
jne 0x180009564
cmp word [rsp + 0x30], ax
je 0x180009572
mov dword [0x1800306a0], eax
jmp 0x18000957c
cmp dword [rsp + 0x68], ebx
jne 0x180009583
mov dword [0x1800306a0], 8
cmp dword [rsp + 0x64], 5
jne 0x180009598
cmp dword [rsp + 0x68], 0
jne 0x18000961b
mov dword [0x1800306a0], 7
cmp dword [rsp + 0x64], 4
ja 0x18000961b
mov dword [0x1800306a0], 6
jmp 0x18000961b
cmp dword [rsp + 0x64], 4
jne 0x18000961b
mov eax, dword [rsp + 0x68]
test eax, eax
jne 0x1800095da
mov al, byte [rsp + 0x75]
cmp al, 0x43
je 0x1800095ce
cmp al, 0x42
je 0x1800095ce
mov dword [0x1800306a0], ebx
jmp 0x18000961b
mov dword [0x1800306a0], 2
jmp 0x18000961b
cmp eax, 0xa
jne 0x180009603
mov al, byte [rsp + 0x75]
cmp al, 0x41
je 0x1800095f7
cmp al, 0x42
je 0x1800095f7
mov dword [0x1800306a0], 3
jmp 0x18000961b
mov dword [0x1800306a0], 4
jmp 0x18000961b
cmp eax, 0x5a
jne 0x18000961b
mov dword [0x1800306a0], 5
jmp 0x18000961b
and dword [0x1800306a0], 0
mov eax, dword [0x1800306a0]
mov rcx, qword [rsp + 0x100]
xor rcx, rsp
call fcn.180012970
add rsp, 0x110
pop rbx
ret