Function at 0x140191acc
Capabilities:
Get system information on windows

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], r9
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x68]
sub rsp, 0x130
xor r13d, r13d
mov r11, r9
mov r9, qword [rbp + 0x90]
mov ebx, r13d
mov dword [rsp + 0x28], ebx
mov r14d, r8d
mov dword [rsp + 0x70], r13d
mov r15, rcx
mov dword [rbp - 0x80], r13d
test r9, r9
jne 0x140191b29
mov ebx, 0x80070057
mov ecx, ebx
jmp 0x140191ee8
cmp qword [rdx], r13
je 0x140191ee6
test r14d, r14d
je 0x140191ee6
mov rcx, qword [rcx]
mov edx, dword [rcx + 4]
sub edx, 1
je 0x140191b57
cmp edx, 1
je 0x140191b50
mov edi, r13d
jmp 0x140191b5c
mov edi, 1
jmp 0x140191b5c
mov edi, reloc.OLEAUT32.dll_SafeArrayGetDim
mov r8d, dword [r15 + 0x38]
lea eax, [r8 + r14]
cmp eax, r14d
jae 0x140191b70
mov ebx, 0xc004d107
jmp 0x140191b22
xor edx, edx
div edi
mov r12d, eax
mov dword [rsp + 0x2c], eax
imul r12d, edi
mov r10d, eax
cmp dword [r9], r12d
jb 0x140191ecc
cmp qword [r11], r13
je 0x140191ecc
cmp r12d, edi
jae 0x140191ba2
test r12d, r12d
jne 0x140191ecc
lea rsi, [r15 + 0x10]
movzx ecx, byte [rsi + 0x27]
test ecx, ecx
je 0x140191bbc
cmp ecx, 1
je 0x140191bb7
xor eax, eax
jmp 0x140191bbf
mov rax, qword [rsi]
jmp 0x140191bbf
mov rax, rsi
mov r9, qword [0x140422958]
mov qword [rsp + 0x68], rax
test rax, rax
je 0x140191bd8
mov eax, dword [r9]
lea rax, [rsp + rax + 0x68]
and dword [rsp + 0x38], ebx
lea rdx, [r15 + 0x40]
movzx ecx, byte [rdx + 0x17]
mov qword [rsp + 0x30], rax
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], rdx
test ecx, ecx
je 0x140191c0b
cmp ecx, 1
je 0x140191c06
xor eax, eax
jmp 0x140191c0e
mov rax, qword [rdx]
jmp 0x140191c0e
mov rax, rdx
mov qword [rsp + 0x78], rax
test rax, rax
je 0x140191c20
mov eax, dword [r9]
lea rax, [rsp + rax + 0x78]
and dword [rsp + 0x38], ebx
mov qword [rsp + 0x30], rax
xor eax, eax
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
mov dword [rsp + 0x24], eax
cmp r8d, edi
jae 0x140191c90
mov rbx, qword [rbp + 0x78]
cmp r13d, r14d
jae 0x140191c85
mov edx, dword [rbx + 8]
mov rcx, qword [rbx]
add edx, r13d
call fcn.14017bc10
movzx ecx, byte [rsi + 0x27]
mov dl, al
test ecx, ecx
je 0x140191c6e
cmp ecx, 1
je 0x140191c69
xor ecx, ecx
jmp 0x140191c71
mov rcx, qword [rsi]
jmp 0x140191c71
mov rcx, rsi
mov eax, dword [r15 + 0x38]
inc r13d
mov byte [rax + rcx], dl
inc dword [r15 + 0x38]
cmp dword [r15 + 0x38], edi
jb 0x140191c43
mov ebx, dword [rsp + 0x28]
mov eax, ebx
mov r10d, dword [rsp + 0x2c]
sub r14d, r13d
sub r14d, r12d
add dword [r15 + 0x38], r14d
xor r14d, r14d
mov dword [rsp + 0x28], r14d
test r10d, r10d
je 0x140191e2d
test edi, edi
je 0x140191d16
mov r12d, dword [rsp + 0x58]
xor r14d, r14d
mov ebx, dword [rsp + 0x38]
sub r12d, ebx
mov r15d, edi
mov rcx, qword [rsp + 0x50]
lea edx, [r12 + rbx]
call fcn.14017bc10
mov rcx, qword [rsp + 0x30]
mov edx, ebx
mov byte [rsp + 0x20], al
call fcn.14017bc10
movzx ecx, byte [rsi + 0x27]
mov dl, al
test ecx, ecx
je 0x140191cf7
cmp ecx, 1
je 0x140191cf2
xor ecx, ecx
jmp 0x140191cfa
mov rcx, qword [rsi]
jmp 0x140191cfa
mov rcx, rsi
xor dl, byte [rsp + 0x20]
inc ebx
mov byte [r14 + rcx], dl
inc r14
sub r15, 1
jne 0x140191cc1
mov r15, qword [rbp + 0x70]
mov r14d, dword [rsp + 0x28]
mov rdx, qword [rbp + 0x88]
mov ecx, dword [rsp + 0x24]
mov dword [rsp + 0x40], edi
add ecx, dword [rdx + 8]
mov rax, qword [rdx]
mov dword [rbp - 0x58], ecx
movzx ecx, byte [rsi + 0x27]
mov qword [rbp - 0x60], rax
movaps xmm0, xmmword [rbp - 0x60]
movdqa xmmword [rsp + 0x30], xmm0
movdqa xmmword [rsp + 0x50], xmm0
test ecx, ecx
je 0x140191d58
cmp ecx, 1
je 0x140191d53
xor eax, eax
jmp 0x140191d5b
mov rax, qword [rsi]
jmp 0x140191d5b
mov rax, rsi
and dword [rbp - 0x70], 0
mov qword [rbp - 0x78], rax
test rax, rax
je 0x140191d76
mov rax, qword [0x140422958]
mov eax, dword [rax]
lea rax, [rbp + rax - 0x78]
and dword [rbp - 0x48], 0
lea rdx, [rbp - 0x30]
mov qword [rbp - 0x50], rax
xor r9d, r9d
movaps xmm0, xmmword [rbp - 0x50]
lea rax, [0x140007ca0]
mov qword [rbp - 0x28], rax
lea rax, [rsp + 0x44]
mov qword [rbp - 0x20], rax
mov rax, qword [r15]
lea r8d, [r9 + 0x48]
mov qword [rbp - 0x18], rax
lea ecx, [r8 + 0x71]
lea rax, [rbp + 0x20]
movdqa xmmword [rbp + 0x20], xmm0
mov qword [rbp - 8], rax
lea rax, [rsp + 0x50]
mov qword [rbp + 8], rax
lea rax, [rsp + 0x40]
mov qword [rbp + 0x10], rax
mov qword [rbp - 0x30], 3
mov dword [rbp - 0x10], 0x80
mov dword [rbp], edi
call sub.ntdll.dll_NtQuerySystemInformation
mov ebx, dword [rsp + 0x44]
test ebx, ebx
js 0x140191b22
mov r10, qword [rbp + 0x78]
inc r14d
mov dword [rsp + 0x28], r14d
mov rax, qword [r10]
mov ecx, dword [r10 + 8]
mov qword [rbp - 0x40], rax
add ecx, r13d
mov eax, dword [rsp + 0x24]
add r13d, edi
add eax, edi
mov dword [rbp - 0x38], ecx
movaps xmm0, xmmword [rbp - 0x40]
movdqa xmmword [rsp + 0x50], xmm0
mov dword [rsp + 0x24], eax
cmp r14d, dword [rsp + 0x2c]
jb 0x140191cab
mov rcx, qword [rbp + 0x90]
xor r14d, r14d
mov dword [rcx], eax
cmp dword [r15 + 0x38], r14d
jbe 0x140191e7a
mov r12d, dword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
lea edx, [r12 + r14]
call fcn.14017bc10
movzx ecx, byte [rsi + 0x27]
mov dl, al
test ecx, ecx
je 0x140191e6a
cmp ecx, 1
je 0x140191e65
xor ecx, ecx
jmp 0x140191e6d
mov rcx, qword [rsi]
jmp 0x140191e6d
mov rcx, rsi
mov byte [r14 + rcx], dl
inc r14d
cmp r14d, dword [r15 + 0x38]
jb 0x140191e44
xor esi, esi
test edi, edi
je 0x140191eed
mov r15d, dword [rsp + 0x38]
xor r14d, r14d
mov r12, qword [rsp + 0x60]
xor r13d, r13d
mov rcx, qword [rsp + 0x30]
lea edx, [r15 + rsi]
call fcn.14017bc10
movzx ecx, byte [r12 + 0x17]
mov dl, al
test ecx, ecx
je 0x140191eba
cmp ecx, 1
je 0x140191eb4
mov rax, r13
jmp 0x140191ebd
mov rax, qword [r12]
jmp 0x140191ebd
mov rax, r12
mov byte [r14 + rax], dl
inc esi
inc r14
cmp esi, edi
jb 0x140191e90
jmp 0x140191eed
mov dword [r9], r12d
mov rax, qword [r11]
neg rax
sbb ecx, ecx
and ecx, 0xc004d107
mov ebx, ecx
cmp qword [r11], r13
je 0x140191eed
jmp 0x140191ee8
xor ecx, ecx
call fcn.140078308
mov ecx, ebx
call fcn.140078324
mov eax, ebx
mov rbx, qword [rsp + 0x180]
add rsp, 0x130
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret