Function at 0x1400a2900
Capabilities:
Get system information on windows
Inspect section memory permissions

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0x70
mov rax, qword [0x1401710c0]
xor rax, rsp
mov qword [rsp + 0x60], rax
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rcx + 4], xmm0
mov rsi, rcx
xor bpl, bpl
movups xmmword [rcx + 0x14], xmm0
xor edi, edi
movups xmmword [rcx + 0x24], xmm0
movups xmmword [rcx + 0x34], xmm0
movups xmmword [rcx + 0x44], xmm0
movups xmmword [rcx + 0x54], xmm0
movups xmmword [rcx + 0x64], xmm0
mov dword [rcx + 0x74], eax
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [rsp + 0x50]
lea r10, [0x140151128]
mov dword [rsi + 0x64], eax
mov r11d, edi
xor eax, eax
xor ecx, ecx
cpuid
mov r14d, eax
mov dword [rsi + 4], ebx
mov dword [rsi + 8], edx
mov dword [rsi + 0xc], ecx
nop dword [rax + rax]
cmp dword [r10 + 4], ecx
mov r8d, edi
sete r9b
cmp dword [r10], edx
sete al
and r9b, al
cmp dword [r10 - 4], ebx
movzx eax, r9b
cmove r8d, eax
test r8b, r8b
jne 0x1400a29b4
inc r11d
add r10, 0x10
cmp r11d, 4
jb 0x1400a2980
jmp 0x1400a29c7
mov eax, r11d
lea rcx, [0x140151120]
add rax, rax
mov eax, dword [rcx + rax*8]
mov dword [rsi + 0x54], eax
cmp r14d, 1
jb 0x1400a2beb
xor ecx, ecx
mov eax, 1
cpuid
mov r8d, ecx
mov r10d, eax
mov ecx, eax
shr r10d, 4
shr ecx, 8
and r10d, 0xf
and ecx, 0xf
mov dword [rsi + 0x5c], r10d
mov r9d, eax
mov dword [rsi + 0x58], ecx
and eax, 0xf
mov dword [rsi + 0x60], eax
cmp ecx, 0xf
jne 0x1400a2a25
mov eax, r9d
shr eax, 0x14
movzx ecx, al
mov eax, r9d
shr eax, 0xc
add ecx, 0xf
and eax, 0xf0
mov dword [rsi + 0x58], ecx
add eax, r10d
mov dword [rsi + 0x5c], eax
movzx eax, bl
mov dword [rsi + 0x7c], eax
mov eax, ebx
shr eax, 8
movzx ecx, al
shr r9d, 0xc
shr ebx, 0x10
and r9d, 3
shl ecx, 3
movzx eax, bl
mov dword [rsi + 0x78], r9d
mov dword [rsi + 0x80], ecx
mov dword [rsi + 0x84], eax
test r8b, 1
je 0x1400a2a61
or dword [rsi + 0x68], 0x100000
test r8b, 2
je 0x1400a2a6e
or dword [rsi + 0x68], 0x80000000
test r8b, 8
je 0x1400a2a7b
or dword [rsi + 0x68], 0x4000000
bt r8d, 9
jae 0x1400a2a89
or dword [rsi + 0x68], 0x200000
bt r8d, 0xd
jae 0x1400a2a94
or dword [rsi + 0x68], 0x40
bt r8d, 0x13
jae 0x1400a2aa2
or dword [rsi + 0x68], 0x800000
bt r8d, 0x14
jae 0x1400a2ab0
or dword [rsi + 0x68], 0x1000000
bt r8d, 0x16
jae 0x1400a2abe
or dword [rsi + 0x68], 0x8000000
bt r8d, 0x17
jae 0x1400a2acc
or dword [rsi + 0x68], 0x10000000
bt r8d, 0x19
jae 0x1400a2ada
or dword [rsi + 0x68], 0x40000000
bt r8d, 0x1a
jae 0x1400a2ae5
or dword [rsi + 0x6c], 8
bt r8d, 0x1b
jae 0x1400a2af0
or dword [rsi + 0x6c], 0x10
bt r8d, 0x1e
jae 0x1400a2afb
or dword [rsi + 0x6c], 1
test dl, 0x10
je 0x1400a2b04
or dword [rsi + 0x68], 4
bt edx, 8
jae 0x1400a2b0e
or dword [rsi + 0x68], 0x20
bt edx, 0xf
jae 0x1400a2b18
or dword [rsi + 0x68], 0x10
bt edx, 0x13
jae 0x1400a2b25
or dword [rsi + 0x68], 0x80
bt edx, 0x17
jae 0x1400a2b32
or dword [rsi + 0x68], 0x4000
bt edx, 0x18
jae 0x1400a2b3f
or dword [rsi + 0x68], 0x1000
bt edx, 0x19
jae 0x1400a2b4c
or dword [rsi + 0x68], 0x48000
bt edx, 0x1a
jae 0x1400a2b59
or dword [rsi + 0x68], 0xc0000
and edx, 0x10000000
je 0x1400a2b65
or dword [rsi + 0x68], 2
cmp dword [rsi + 0x64], 1
jne 0x1400a2b7c
cmp dword [rsi + 0x54], 2
jne 0x1400a2b7c
test edx, edx
je 0x1400a2b7c
mov dword [rsi + 0x64], 2
mov eax, r8d
and eax, 0xc000000
cmp eax, 0xc000000
jne 0x1400a2b9a
xor ecx, ecx
xgetbv
shl rdx, 0x20
or rdx, rax
mov rdi, rdx
bt r8d, 0x1c
jae 0x1400a2beb
mov eax, edi
and eax, 6
cmp al, 6
jne 0x1400a2beb
mov eax, dword [rsi + 0x6c]
or eax, 0x20
mov dword [rsi + 0x6c], eax
bt r8d, 0xb
jae 0x1400a2bc1
bts eax, 0xa
mov dword [rsi + 0x6c], eax
bt r8d, 0xe
jae 0x1400a2bcf
bts eax, 8
mov dword [rsi + 0x6c], eax
bt r8d, 0x10
jae 0x1400a2bdd
bts eax, 9
mov dword [rsi + 0x6c], eax
bt r8d, 0x1d
jae 0x1400a2beb
bts eax, 7
mov dword [rsi + 0x6c], eax
cmp r14d, 7
jb 0x1400a2d25
xor ecx, ecx
mov eax, 7
cpuid
mov edx, dword [rsi + 0x6c]
test bl, 1
je 0x1400a2c0d
bts edx, 0x11
mov dword [rsi + 0x6c], edx
mov eax, edx
test bl, 8
je 0x1400a2c1d
bts eax, 0xb
mov dword [rsi + 0x6c], eax
mov edx, eax
test bl, 0x10
je 0x1400a2c2b
bts eax, 0xd
mov dword [rsi + 0x6c], eax
mov edx, eax
bt ebx, 8
jae 0x1400a2c3a
bts eax, 0xc
mov dword [rsi + 0x6c], eax
mov edx, eax
bt ebx, 9
jae 0x1400a2c49
bts eax, 0x12
mov dword [rsi + 0x6c], eax
mov edx, eax
bt ebx, 0xb
jae 0x1400a2c58
bts eax, 0xe
mov dword [rsi + 0x6c], eax
mov edx, eax
mov r8d, ebx
shr r8d, 0xe
and r8b, 1
bt ebx, 0x12
jae 0x1400a2c71
or eax, 2
mov dword [rsi + 0x6c], eax
mov edx, eax
bt ebx, 0x13
jae 0x1400a2c80
bts eax, 0xf
mov dword [rsi + 0x6c], eax
mov edx, eax
bt ebx, 0x17
jae 0x1400a2c8f
or dword [rsi + 0x68], 0x100
mov eax, edx
bt ebx, 0x1d
jae 0x1400a2c9d
mov edx, eax
or edx, 4
mov dword [rsi + 0x6c], edx
test cl, 1
je 0x1400a2ca9
or dword [rsi + 0x68], 0x400
mov eax, edx
mov ecx, edx
shr eax, 5
test al, 1
je 0x1400a2cbf
test bl, 0x20
je 0x1400a2cbf
or ecx, 0x40
mov dword [rsi + 0x6c], ecx
movzx ebp, r8b
bt ebx, 0x10
jae 0x1400a2d25
mov eax, edi
and eax, 0x76
cmp al, 0x76
jne 0x1400a2d25
bts ecx, 0x13
mov dword [rsi + 0x6c], ecx
bt ebx, 0x11
jae 0x1400a2ce6
bts ecx, 0x17
mov dword [rsi + 0x6c], ecx
bt ebx, 0x1a
jae 0x1400a2cf3
bts ecx, 0x15
mov dword [rsi + 0x6c], ecx
bt ebx, 0x1b
jae 0x1400a2d00
bts ecx, 0x16
mov dword [rsi + 0x6c], ecx
bt ebx, 0x1c
jae 0x1400a2d0d
bts ecx, 0x14
mov dword [rsi + 0x6c], ecx
bt ebx, 0x1e
jae 0x1400a2d1a
bts ecx, 0x18
mov dword [rsi + 0x6c], ecx
test ebx, ebx
jns 0x1400a2d25
bts ecx, 0x19
mov dword [rsi + 0x6c], ecx
cmp r14d, 0xd
jb 0x1400a2d4b
test bpl, bpl
je 0x1400a2d4b
xor ecx, ecx
mov eax, 0xd
cpuid
and edi, eax
and edi, 0x18
cmp dil, 0x18
jne 0x1400a2d4b
or dword [rsi + 0x6c], 0x10000
xor ecx, ecx
lea r9, [rsi + 0x14]
mov eax, 0x80000000
mov r10d, 0x80000001
cpuid
mov r11d, eax
cmp eax, 0x80000004
jae 0x1400a2d73
cmp eax, r10d
jb 0x1400a2e47
jmp 0x1400a2d80
mov r11d, 0x80000004
nop dword [rax]
xor ecx, ecx
mov eax, r10d
cpuid
cmp r10d, 0x80000001
je 0x1400a2db9
lea r8d, [r10 + 0x7ffffffe]
cmp r8d, 2
ja 0x1400a2e3b
mov dword [r9], eax
mov dword [r9 + 4], ebx
mov dword [r9 + 8], ecx
mov dword [r9 + 0xc], edx
add r9, 0x10
jmp 0x1400a2e3b
test cl, 1
je 0x1400a2dc5
or dword [rsi + 0x68], 0x800
test cl, 0x20
je 0x1400a2dd1
or dword [rsi + 0x68], 0x20000000
test cl, 0x40
je 0x1400a2ddd
or dword [rsi + 0x68], 0x400000
test cl, cl
jns 0x1400a2de8
or dword [rsi + 0x68], 0x2000000
bt ecx, 8
jae 0x1400a2df5
or dword [rsi + 0x68], 0x200
bt edx, 0x14
jae 0x1400a2dff
or dword [rsi + 0x68], 1
bt edx, 0x15
jae 0x1400a2e0c
or dword [rsi + 0x68], 0x2000
bt edx, 0x16
jae 0x1400a2e19
or dword [rsi + 0x68], 0x8000
bt edx, 0x1b
jae 0x1400a2e23
or dword [rsi + 0x68], 8
bt edx, 0x1e
jae 0x1400a2e30
or dword [rsi + 0x68], 0x28000
test edx, edx
jns 0x1400a2e3b
or dword [rsi + 0x68], 0x10000
inc r10d
cmp r10d, r11d
jbe 0x1400a2d80
movzx ecx, byte [rsi + 0x14]
add rsi, 0x14
xor bl, bl
mov rdx, rsi
mov byte [rsi], bl
test cl, cl
je 0x1400a2e8e
nop word [rax + rax]
cmp cl, 0x20
jne 0x1400a2e74
cmp bl, 0x40
je 0x1400a2e7c
movzx eax, byte [rsi + 1]
sub al, cl
test al, 0xdf
je 0x1400a2e7c
mov byte [rdx], cl
movzx ebx, cl
inc rdx
movzx ecx, byte [rsi + 1]
inc rsi
mov byte [rsi], 0
test cl, cl
jne 0x1400a2e60
mov byte [rdx], cl
jmp 0x1400a2e90
mov byte [rsi], bl
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1400a4dc0
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret