Function at 0x100019600
Capabilities:
Get system information on windows

Disassembly:
mov r11, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x9d0
mov qword [rsp + 0x38], 0xfffffffffffffffe
mov qword [r11 + 0x18], rbx
mov rax, qword [0x100039110]
xor rax, rsp
mov qword [rsp + 0x9c0], rax
mov rsi, rdx
mov rbp, rcx
mov qword [r11 - 0x978], 7
xor ebx, ebx
mov qword [r11 - 0x980], rbx
mov word [rsp + 0x78], bx
mov edi, 0x11c
mov r8, rdi
xor edx, edx
lea rcx, [r11 - 0x968]
call sub.msvcrt.dll_memset
mov dword [rsp + 0xa0], edi
lea rdx, [rsp + 0x70]
mov rcx, rbp
call fcn.100019be0
lea r12d, [rbx + 1]
cmp al, bl
je 0x1000196ba
lea r9, [rsp + 0x78]
cmp qword [rsp + 0x90], 8
cmovae r9, qword [rsp + 0x78]
mov eax, dword [rsp + 0x88]
lea eax, [rax + rax + 2]
mov dword [rsp + 0x20], eax
mov r8d, r12d
lea rdx, [0x100003bb0]
mov rcx, rsi
call fcn.10001d41c
lea rcx, [rsp + 0xa0]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
mov r14d, 0x800
or r13, 0xffffffffffffffff
lea r15, [0x100004a54]
cmp eax, ebx
jne 0x10001970e
mov edi, 0x4102
mov ecx, edi
call fcn.100029738
cmp eax, ebx
je 0x100019b3b
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
lea rdx, [0x1000049b0]
movzx ecx, di
call fcn.1000297dc
jmp 0x100019b3b
mov eax, dword [rsp + 0xac]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0xa4]
lea r8, [0x100004a40]
mov rdx, r14
lea rcx, [rsp + 0x1c0]
call fcn.10001bd9c
xor eax, eax
mov rcx, r13
lea rdi, [rsp + 0x1c0]
repne scasw ax, word [rdi]
not rcx
sub rcx, r12
lea eax, [rcx + rcx + 2]
mov dword [rsp + 0x20], eax
lea r9, [rsp + 0x1c0]
mov r8d, r12d
lea rdx, [0x100003bc0]
mov rcx, rsi
call fcn.10001d41c
xor eax, eax
mov rcx, r13
lea rdi, [rsp + 0xb4]
repne scasw ax, word [rdi]
not rcx
sub rcx, r12
lea eax, [rcx + rcx + 2]
mov dword [rsp + 0x20], eax
lea r9, [rsp + 0xb4]
mov r8d, r12d
lea rdx, [0x100003ca8]
mov rcx, rsi
call fcn.10001d41c
mov r9d, dword [rsp + 0xa4]
mov r8, r15
mov rdx, r14
lea rcx, [rsp + 0x1c0]
call fcn.10001bd9c
xor eax, eax
mov rcx, r13
lea rdi, [rsp + 0x1c0]
repne scasw ax, word [rdi]
not rcx
sub rcx, r12
lea eax, [rcx + rcx + 2]
mov dword [rsp + 0x20], eax
lea r9, [rsp + 0x1c0]
mov r8d, r12d
lea rdx, [0x100003bd8]
mov rcx, rsi
call fcn.10001d41c
mov r9d, dword [rsp + 0xa8]
mov r8, r15
mov rdx, r14
lea rcx, [rsp + 0x1c0]
call fcn.10001bd9c
xor eax, eax
mov rcx, r13
lea rdi, [rsp + 0x1c0]
repne scasw ax, word [rdi]
not rcx
sub rcx, r12
lea eax, [rcx + rcx + 2]
mov dword [rsp + 0x20], eax
lea r9, [rsp + 0x1c0]
mov r8d, r12d
lea rdx, [0x100003bf8]
mov rcx, rsi
call fcn.10001d41c
mov r9d, dword [rsp + 0xac]
mov r8, r15
mov rdx, r14
lea rcx, [rsp + 0x1c0]
call fcn.10001bd9c
xor eax, eax
mov rcx, r13
lea rdi, [rsp + 0x1c0]
repne scasw ax, word [rdi]
not rcx
sub rcx, r12
lea eax, [rcx + rcx + 2]
mov dword [rsp + 0x20], eax
lea r9, [rsp + 0x1c0]
mov r8d, r12d
lea rdx, [0x100003c18]
mov rcx, rsi
call fcn.10001d41c
mov r9d, dword [rsp + 0xb0]
mov r8, r15
mov rdx, r14
lea rcx, [rsp + 0x1c0]
call fcn.10001bd9c
xor eax, eax
mov rcx, r13
lea rdi, [rsp + 0x1c0]
repne scasw ax, word [rdi]
not rcx
sub rcx, r12
lea eax, [rcx + rcx + 2]
mov dword [rsp + 0x20], eax
lea r9, [rsp + 0x1c0]
mov r8d, r12d
lea rdx, [0x100003c38]
mov rcx, rsi
call fcn.10001d41c
movzx r9d, word [rsp + 0x1b4]
mov r8, r15
mov rdx, r14
lea rcx, [rsp + 0x1c0]
call fcn.10001bd9c
xor eax, eax
mov rcx, r13
lea rdi, [rsp + 0x1c0]
repne scasw ax, word [rdi]
not rcx
sub rcx, r12
lea eax, [rcx + rcx + 2]
mov dword [rsp + 0x20], eax
lea r9, [rsp + 0x1c0]
mov r8d, r12d
lea rdx, [0x100003c58]
mov rcx, rsi
call fcn.10001d41c
movzx r9d, word [rsp + 0x1b6]
mov r8, r15
mov rdx, r14
lea rcx, [rsp + 0x1c0]
call fcn.10001bd9c
xor eax, eax
mov rcx, r13
lea rdi, [rsp + 0x1c0]
repne scasw ax, word [rdi]
not rcx
sub rcx, r12
lea eax, [rcx + rcx + 2]
mov dword [rsp + 0x20], eax
lea r9, [rsp + 0x1c0]
mov r8d, r12d
lea rdx, [0x100003c80]
mov rcx, rsi
call fcn.10001d41c
movzx r9d, word [rsp + 0x1b8]
mov r8, r15
mov rdx, r14
lea rcx, [rsp + 0x1c0]
call fcn.10001bd9c
xor eax, eax
mov rcx, r13
lea rdi, [rsp + 0x1c0]
repne scasw ax, word [rdi]
not rcx
sub rcx, r12
lea eax, [rcx + rcx + 2]
mov dword [rsp + 0x20], eax
lea r9, [rsp + 0x1c0]
mov r8d, r12d
lea rdx, [0x100003cc0]
mov rcx, rsi
call fcn.10001d41c
movzx r9d, byte [rsp + 0x1ba]
mov r8, r15
mov rdx, r14
lea rcx, [rsp + 0x1c0]
call fcn.10001bd9c
xor eax, eax
mov rcx, r13
lea rdi, [rsp + 0x1c0]
repne scasw ax, word [rdi]
not rcx
sub rcx, r12
lea eax, [rcx + rcx + 2]
mov dword [rsp + 0x20], eax
lea r9, [rsp + 0x1c0]
mov r8d, r12d
lea rdx, [0x100003cd8]
mov rcx, rsi
call fcn.10001d41c
mov edx, dword [rsp + 0xa4]
mov dword [rbp + 0x200], edx
mov eax, dword [rsp + 0xa8]
mov dword [rbp + 0x204], eax
mov dword [rsp + 0x30], ebx
lea rcx, [0x100004a60]
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
cmp rax, rbx
je 0x100019ae9
lea rdx, [0x100004a80]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp rax, rbx
je 0x100019ae9
movzx r9d, word [rsp + 0x1b6]
movzx r8d, word [rsp + 0x1b4]
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x20], rcx
mov edx, dword [rsp + 0xa8]
mov ecx, dword [rsp + 0xa4]
call rax
cmp eax, ebx
jne 0x100019ae9
mov edi, 0x4102
mov ecx, edi
call fcn.100029738
cmp eax, ebx
je 0x100019ae3
lea rdx, [0x100004a90]
movzx ecx, di
call fcn.1000297dc
mov dword [rsp + 0x30], ebx
jmp 0x100019aed
mov ebx, dword [rsp + 0x30]
mov r9d, ebx
mov r8, r15
mov rdx, r14
lea rcx, [rsp + 0x1c0]
call fcn.10001bd9c
xor eax, eax
mov rcx, r13
lea rdi, [rsp + 0x1c0]
repne scasw ax, word [rdi]
not rcx
sub rcx, r12
lea eax, [rcx + rcx + 2]
mov dword [rsp + 0x20], eax
lea r9, [rsp + 0x1c0]
mov r8d, r12d
lea rdx, [0x100003db0]
mov rcx, rsi
call fcn.10001d41c
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
movzx r9d, word [rsp + 0x40]
mov r8, r15
mov rdx, r14
lea rcx, [rsp + 0x1c0]
call fcn.10001bd9c
xor eax, eax
mov rcx, r13
lea rdi, [rsp + 0x1c0]
repne scasw ax, word [rdi]
not rcx
sub rcx, r12
lea eax, [rcx + rcx + 2]
mov dword [rsp + 0x20], eax
lea r9, [rsp + 0x1c0]
mov r8d, r12d
lea rdx, [0x100003cf0]
mov rcx, rsi
call fcn.10001d41c
nop
cmp qword [rsp + 0x90], 8
jb 0x100019bad
mov rcx, qword [rsp + 0x78]
call fcn.10002deec
mov rcx, qword [rsp + 0x9c0]
xor rcx, rsp
call fcn.10002e2d0
mov rbx, qword [rsp + 0xa20]
add rsp, 0x9d0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret