Function at 0x140014dd0
Capabilities:
Get system information on windows

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x88
movdqa xmmword [rsp + 0x70], xmm6
mov rsi, rdx
mov rax, qword [0x140062030]
xor rax, rsp
mov qword [rsp + 0x68], rax
movdqu xmm1, xmmword [rcx]
movdqu xmm0, xmmword [rcx + 0x10]
pxor xmm6, xmm6
movdqa xmm2, xmm0
pcmpeqd xmm2, xmm6
pshufd xmm3, xmm2, 0xb1
pand xmm3, xmm2
pcmpeqd xmm1, xmm6
pshufd xmm2, xmm1, 0xb1
pand xmm2, xmm1
packssdw xmm2, xmm3
movmskps eax, xmm2
test eax, eax
jne 0x1400150c5
mov rdi, rcx
mov ebp, dword [rcx + 0x28]
shl ebp, 7
mov ecx, ebp
or ecx, 0x7f
mov eax, dword [rdi + 0x24]
cmp ecx, eax
jae 0x140014e56
movq rcx, xmm0
pshufd xmm0, xmm0, 0xee
movq rax, xmm0
jmp 0x140014f35
cmp eax, dword [rdi + 0x20]
jae 0x1400150c5
mov eax, dword [0x140064af4]
mov ecx, dword [0x1400624b8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140015002
mov edx, dword [0x140064af0]
mov ecx, dword [rdi + 0x24]
add rcx, qword [rdi + 0x10]
mov r8d, 0x1000
mov r9d, 4
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
je 0x1400150c5
mov eax, dword [0x140064af4]
mov ecx, dword [0x1400624b8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140015043
mov r8d, dword [0x140064af0]
mov edx, dword [rdi + 0x24]
add rdx, qword [rdi + 0x18]
mov rcx, qword [rdi]
mov dword [rsp + 0x20], 0x20
mov r9d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
test rax, rax
je 0x1400150c5
mov eax, dword [0x140064af4]
mov ecx, dword [0x1400624b8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140015084
mov eax, dword [0x140064af0]
add dword [rdi + 0x24], eax
mov rcx, qword [rdi + 0x10]
mov rax, qword [rdi + 0x18]
mov edx, ebp
add rax, rdx
add rcx, rdx
lea r9, [rsp + 0x38]
mov qword [r9 - 8], rdi
mov dword [r9], 0
mov qword [r9 + 8], rcx
mov qword [r9 + 0x10], rax
pxor xmm0, xmm0
movdqu xmmword [r9 + 0x18], xmm0
mov dword [r9 + 0x28], 0x80
mov byte [r9 + 0x2c], 1
mov edx, 0x80
mov r8d, 4
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
je 0x1400150dd
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x48]
test rcx, rcx
je 0x1400150ea
mov r8, qword [rsp + 0x40]
mov r9d, dword [rsp + 0x38]
mov dl, byte [rsp + 0x64]
test r8, r8
je 0x140014fbc
test rax, rax
je 0x140014fbc
test r9d, r9d
je 0x140014fbc
test dl, dl
je 0x140014fbc
inc dword [rdi + 0x28]
mov qword [rsi], rcx
mov dword [rsi + 8], r9d
mov qword [rsi + 0x10], r8
mov qword [rsi + 0x18], rax
movdqu xmm0, xmmword [rsp + 0x50]
movdqu xmmword [rsi + 0x20], xmm0
mov eax, dword [rsp + 0x60]
mov dword [rsi + 0x30], eax
mov byte [rsi + 0x34], dl
mov byte [rsi + 0x38], 1
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.14002fa70
movaps xmm6, xmmword [rsp + 0x70]
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
ret
lea rcx, [0x140064af4]
call fcn.14002e938
cmp dword [0x140064af4], 0xffffffff
jne 0x140014e84
lea rbx, [rsp + 0x30]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [rbx + 4]
mov dword [0x140064af0], eax
lea rcx, [0x140064af4]
call fcn.14002e8d8
jmp 0x140014e84
lea rcx, [0x140064af4]
call fcn.14002e938
cmp dword [0x140064af4], 0xffffffff
jne 0x140014ed1
lea rbx, [rsp + 0x30]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [rbx + 4]
mov dword [0x140064af0], eax
lea rcx, [0x140064af4]
call fcn.14002e8d8
jmp 0x140014ed1
lea rcx, [0x140064af4]
call fcn.14002e938
cmp dword [0x140064af4], 0xffffffff
jne 0x140014f24
lea rbx, [rsp + 0x30]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [rbx + 4]
mov dword [0x140064af0], eax
lea rcx, [0x140064af4]
call fcn.14002e8d8
jmp 0x140014f24
movdqu xmmword [rsi + 0x30], xmm6
movdqu xmmword [rsi + 0x20], xmm6
movdqu xmmword [rsi + 0x10], xmm6
movdqu xmmword [rsi], xmm6
jmp 0x140014fe4
mov dword [rsp + 0x38], 0
jmp 0x140014f85
mov r9d, dword [rsp + 0x38]
mov r8, qword [rsp + 0x40]
mov dl, byte [rsp + 0x64]
jmp 0x140014fb9