Function at 0x14006a820
Capabilities:
Get system information on windows

Disassembly:
push rbx
sub rsp, 0xb0
xor ebx, ebx
lea rcx, [rsp + 0x50]
mov qword [0x1401a25e8], rbx
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
cmp dword [0x1401a25f0], 1
movsxd rax, dword [rsp + 0x54]
mov qword [0x1401a2668], rax
je 0x14006ad2c
mov qword [0x1401a25fc], 1
movabs rax, 0x7fffffffff
mov qword [0x1401a2680], rax
mov rax, qword [0x1401a2670]
mov qword [rsp + 0xa8], rsi
mov dword [rsp + 0xc8], ebx
mov qword [rsp + 0xa0], rdi
mov dword [rsp + 0xd0], ebx
movaps xmmword [rsp + 0x90], xmm6
movaps xmmword [rsp + 0x80], xmm7
xorps xmm7, xmm7
mov qword [rsp + 0x38], rbx
movsd qword [rsp + 0x48], xmm7
test rax, rax
je 0x14006a8cc
mov qword [rsp + 0x28], rax
mov dword [rsp + 0xc8], 1
jmp 0x14006a8d5
mov qword [rsp + 0x28], 0x8000000
mov rax, qword [0x1401a2678]
movabs rsi, 0x8000000000000000
movsd xmm6, qword [0x14015d810]
test rax, rax
je 0x14006a908
mov qword [rsp + 0x20], rax
mov dword [rsp + 0xd0], 1
jmp 0x14006a990
mov eax, dword [0x1401a2688]
test eax, eax
je 0x14006a987
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm0, qword [0x140165380]
movsd qword [rsp + 0x48], xmm0
xorps xmm0, xmm0
mov rcx, qword [rsp + 0x28]
test rcx, rcx
js 0x14006a93c
cvtsi2sd xmm0, rcx
jmp 0x14006a951
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2sd xmm0, rax
addsd xmm0, xmm0
mulsd xmm0, qword [rsp + 0x48]
xor ecx, ecx
comisd xmm0, xmm6
jb 0x14006a96c
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x14006a96c
mov rcx, rsi
cvttsd2si rax, xmm0
add rax, 0xffff
add rax, rcx
and rax, 0xffffffffffff0000
mov qword [rsp + 0x20], rax
jmp 0x14006a990
mov qword [rsp + 0x20], 0x8000000
mov dword [rsp + 0x30], 8
lea rdi, [0x140164c10]
nop
mov rdx, qword [rsp + 0x28]
mov rcx, qword [0x1401a2668]
dec rdx
add rdx, rcx
dec rcx
not rcx
and rcx, rdx
mov qword [rsp + 0x28], rcx
mov rax, qword [rsp + 0x20]
mov rcx, qword [0x1401a2668]
lea rdx, [rcx - 1]
add rdx, rax
dec rcx
not rcx
and rcx, rdx
cmp dword [0x1401a2600], ebx
mov qword [rsp + 0x20], rcx
je 0x14006aa0c
mov eax, dword [rsp + 0x30]
sub eax, 2
mov dword [rsp + 0xc0], eax
mov dword [rsp + 0xd8], 0xffffffff
mov dword [rsp + 0x34], 0xffffffff
jmp 0x14006aa26
mov dword [rsp + 0xc0], ebx
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0xd8], eax
mov dword [rsp + 0x34], 1
mov eax, dword [rsp + 0xc0]
mov dword [rsp + 0xc0], eax
mov ecx, dword [rsp + 0xc0]
mov eax, dword [rsp + 0xd8]
cmp ecx, eax
je 0x14006aafa
nop word [rax + rax]
movsxd rax, dword [rsp + 0xc0]
mov rax, qword [rdi + rax*8]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14006aaab
cmp qword [0x1401a2680], rbx
je 0x14006aa82
mov rax, qword [rsp + 0x40]
cmp rax, qword [0x1401a2680]
ja 0x14006aaab
mov rdx, qword [rsp + 0x20]
mov r9d, 4
mov rax, qword [rsp + 0x28]
mov r8d, 0x2000
mov rcx, qword [rsp + 0x40]
add rdx, rax
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
jne 0x14006aad7
mov ecx, dword [rsp + 0xc0]
mov eax, dword [rsp + 0x34]
add ecx, eax
mov dword [rsp + 0xc0], ecx
mov ecx, dword [rsp + 0xc0]
mov eax, dword [rsp + 0xd8]
cmp ecx, eax
jne 0x14006aa50
jmp 0x14006aafa
cmp dword [0x1401a25fc], ebx
jne 0x14006aaf0
xor edx, edx
mov r8d, 0x8000
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
test rax, rax
jne 0x14006ac6d
cmp dword [0x1401ac440], 1
je 0x14006ab2b
mov eax, dword [rsp + 0xc8]
test eax, eax
je 0x14006ab2b
mov eax, dword [rsp + 0xd0]
test eax, eax
jne 0x14006ac6d
mov rdx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x28]
add rdx, rax
cmp dword [0x1401ac440], 1
je 0x14006ab4c
mov eax, dword [rsp + 0xc8]
test eax, eax
jne 0x14006ab5c
mov rax, qword [rsp + 0x28]
sub rax, 0x800000
mov qword [rsp + 0x28], rax
cmp dword [0x1401ac440], 1
je 0x14006ab74
mov eax, dword [rsp + 0xd0]
test eax, eax
jne 0x14006abf7
movsd xmm0, qword [rsp + 0x48]
ucomisd xmm0, xmm7
jp 0x14006ab82
je 0x14006abe7
mov eax, dword [rsp + 0xc8]
test eax, eax
je 0x14006abe7
mov rcx, qword [rsp + 0x28]
xorps xmm0, xmm0
test rcx, rcx
js 0x14006aba1
cvtsi2sd xmm0, rcx
jmp 0x14006abb6
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2sd xmm0, rax
addsd xmm0, xmm0
mulsd xmm0, qword [rsp + 0x48]
xor ecx, ecx
comisd xmm0, xmm6
jb 0x14006abd1
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x14006abd1
mov rcx, rsi
cvttsd2si rax, xmm0
add rax, 0xffff
add rax, rcx
and rax, 0xffffffffffff0000
jmp 0x14006abf2
mov rax, qword [rsp + 0x20]
sub rax, 0x800000
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
cmp rax, 0x800000
jae 0x14006ac11
mov rax, qword [rsp + 0x28]
cmp rax, 0x800000
jb 0x14006ac6d
mov rax, qword [rsp + 0x20]
cmp rax, 0x800000
ja 0x14006ac27
mov qword [rsp + 0x20], 0x800000
mov rax, qword [rsp + 0x28]
cmp rax, 0x800000
ja 0x14006ac3d
mov qword [rsp + 0x28], 0x800000
mov rcx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x28]
add rcx, rax
cmp rdx, rcx
jbe 0x14006ac6d
mov rax, qword [rsp + 0x20]
cmp rax, 0x800000
jb 0x14006ac6d
mov rax, qword [rsp + 0x28]
cmp rax, 0x800000
jae 0x14006a9a0
mov rax, qword [rsp + 0x38]
movaps xmm7, xmmword [rsp + 0x80]
movaps xmm6, xmmword [rsp + 0x90]
mov rdi, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0xa8]
test rax, rax
je 0x14006ad0c
mov rax, qword [rsp + 0x28]
mov qword [0x1401a2670], rax
mov rax, qword [rsp + 0x20]
cmp dword [0x1401a25e8], ebx
mov qword [0x1401a2678], rax
mov rax, qword [rsp + 0x38]
mov dword [0x1401a25ec], 1
je 0x14006ace9
mov qword [0x1401a26b8], rax
mov rax, qword [rsp + 0x20]
add rax, qword [0x1401a26b8]
mov qword [0x1401a26a0], rax
add rsp, 0xb0
pop rbx
ret
mov qword [0x1401a26a0], rax
mov rax, qword [rsp + 0x28]
add rax, qword [0x1401a26a0]
mov qword [0x1401a26b8], rax
add rsp, 0xb0
pop rbx
ret
mov eax, dword [rsp + 0xc8]
test eax, eax
jne 0x14006ad22
mov eax, dword [rsp + 0xd0]
test eax, eax
je 0x14006ad2c
mov dword [0x1401a25ec], 0xffffffff
add rsp, 0xb0
pop rbx
ret