Function at 0x1401b315b
Capabilities:
Get system information on windows

Disassembly:
push rbp
push r15
push r14
push rsi
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x1c8
enter 1, 0
add dword [rax], eax
add byte [rax - 0x73], cl
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x140], 0xfffffffffffffffe
test dword [rax + 1], eax
add byte [rax], al
invalid
invalid
invalid
dec dword [rax - 0x7d]
cmp dword [rcx + 0x80], 0
add byte [rax], 0
add byte [rax], al
jne 0x1401b3798
mov r14d, edx
mov r15, rcx
iretd
xorps xmm0, xmm0
push rdi
ror byte [rax - 0x73], 0x4d
movabs al, byte [0x1041290f2041290f]
sub dword [rcx + 0x10], eax
adc byte [r15], cl
adc byte [rdi], cl
sub dword [rcx], eax
call qword [sym.imp.kernel32.dll_GetSystemInfo]
adc eax, 0x1a40b
add byte [rax - 0x80000000], bh
mov eax, 0x80000000
xor ecx, ecx
mov r8, rbx
fmul dword [rdi]
movabs byte [0x1008589c3874c], al
xchg rbx, r8
xchg ebx, eax
mov dword [rbp + 0x100], eax
cmp eax, 0x80000003
add byte [rax + 0x3fb58844], al
add dword [rax], eax
add byte [rax], al
mov qword [rbp + 0xa0], r15
movabs al, byte [0xa5860f000000]
add byte [rax], al
add byte [rax], al
jbe case.0x14002e130.2450
add byte [rax], al
invalid
push 4
pop rcx
push 0x50
pop rdx
call fcn.140004b2b
test rax, rax
test eax, eax
je 0x1401b37b9
test dl, cl
retf 5
invalid
mov r8, rax
lea rax, [rbp + 0x120]
mov qword [rax], 5
add byte [rax], al
add byte [rax], al
mov qword [rax + 8], r8
mov dword [rax + 8], eax
mov eax, 0x80000000
add byte [rbp + 0x31], 0xe4
xor esp, esp
xor r13d, r13d
mov qword [rbp + 0x130], r12
test r13b, 1
jne 0x1401b32a0
cmp eax, dword [rbp + 0x100]
ja 0x1401b32a0
setae r13b
mov edi, eax
adc edi, 0
xor ecx, ecx
mov rsi, rbx
fimul word [rdi]
movabs byte [0xd68941cb89f38748], al
xchg rbx, rsi
mov ebx, ecx
retf
mov r14d, edx
mov esi, edx
mov r15d, eax
mov edi, eax
cmp r12, qword [rbp + 0x120]
jne 0x1401b325f
lea rcx, [rbp + 0x120]
call fcn.140024784
sub al, 0x15
out 0xff, eax
mov r8, qword [rbp + 0x128]
mov eax, dword [rbp + 0x128]
add dword [rax], eax
invalid
mov rax, r12
shl rax, 4
add al, 0x45
mov dword [rax + rax], edi
mov dword [r8 + rax + 4], esi
mov dword [rax + rax + 4], esi
je case.0x14002eaa5.2454
add al, 0x41
mov dword [rax + rax + 8], ebx
pop rsp
add byte [rax], cl
mov dword [r8 + rax + 0xc], r14d
inc r12
invalid
mov eax, edi
jmp 0x1401b320f
and qword [rbp + 0x108], 0
mov qword [rbp + 0x110], 1
and qword [rbp + 0x118], 0
jmp 0x1401b33ec
add qword [rax], r8
add byte [rax], al
lea rcx, [rbp + 0xb8]
push 0x30
pop rdx
call fcn.1401481de
mov rdi, qword [rbp + 0x128]
mov edi, dword [rbp + 0x128]
sub byte [rcx], al
add byte [rax], al
shl r12, 4
add r12, rdi
cld
push 2
pop rax
push 5
pop rbx
xor r15d, r15d
xor edi, edi
lea rsi, [rbp + 0xb8]
mov r14, rdi
mov esi, edi
test r15b, 1
je 0x1401b32e5
invalid
test rbx, rbx
je 0x1401b3343
invalid
cmp r14, r12
je 0x1401b3343
dec rbx
jmp 0x1401b3309
cmp rbx, rax
jbe 0x1401b3343
mov rcx, r12
sub rcx, r14
int1
shr rcx, 4
cmp rcx, rax
jbe 0x1401b3343
mov rcx, rax
not rcx
add rbx, rcx
shl rax, 4
add r14, rax
invalid
mov edx, dword [r14]
mov rcx, rsi
call fcn.1401b3a94
invalid
add byte [rax], al
mov edx, dword [r14 + 4]
add al, 0x48
mov ecx, esi
call fcn.1401b3a94
add byte [rcx - 0x75], al
push rsi
or byte [rax - 0x77], cl
int1
call fcn.1401b3a94
invalid
add byte [rax], al
mov edx, dword [r14 + 0xc]
mov edx, dword [rsi + 0xc]
add r14, 0x10
invalid
adc byte [rcx - 0x49], al
add dword [rax - 0x77], ecx
int1
call fcn.1401b3a94
push rbp
invalid
add byte [rax], al
add byte [rcx], dh
shr bl, 0x8d
mov rsi, qword [rbp + 0xc0]
mov rdx, qword [rbp + 0xc8]
xor r8d, r8d
cmp rdx, r8
je 0x1401b3365
cmp byte [rsi + r8], 0
je 0x1401b3368
inc r8
jmp 0x1401b3354
out dx, eax
mov r8, rdx
lea r9, [0x140264478]
mov rcx, rsi
mov ecx, esi
call fcn.14015af46
jnp case.0x14002eaa5.2461
dec dword [rcx - 0x77]
ror byte [rax - 0x73], 1
pop rbp
loopne 0x1401b33c7
mov ecx, ebx
mov rdx, rax
call fcn.1400297e0
cmp qword [rbx], 0
cmp dword [rbx], 0
cmp eax, dword [rax]
invalid
je 0x1401b33ac
and qword [rbp + 0x108], 0
mov qword [rbp + 0x110], 1
test dword [rax], edx
add dword [rax], eax
add byte [rcx], al
add byte [rax], al
add byte [rax - 0x7d], cl
movsd dword [rdi], dword [rsi]
sbb byte [rcx], al
add byte [rax], al
add bl, ch
jmp 0x1401b33c0
mov rdx, qword [rbp - 0x18]
mov r8, qword [rbp - 0x10]
mov eax, dword [rbp - 0x10]
lea rcx, [rbp + 0x108]
call fcn.14003f3ec
sub al, 0xc0
shr al, 0xff
mov rcx, qword [rbp + 0xb8]
mov rdx, rsi
bnd call fcn.1400373d1
mov rcx, qword [rbp + 0x120]
mov ecx, dword [rbp + 0x120]
add byte [rax - 0x77], cl
cli
call fcn.1400248c6
mov r14b, byte [rbp + 0x13f]
mov r15, qword [rbp + 0xa0]
invalid
add byte [rax], al
invalid
xor eax, eax
xor ecx, ecx
leave
mov rbx, rbx
cpuid
xchg rbx, rbx
mov edi, edx
mov esi, ecx
invalid
lea rcx, [rbp + 0x120]
add dword [rax], eax
add byte [rdx + 0xc], ch
pop rdx
call fcn.1401481de
lea rcx, [rbp + 0x120]
mov edx, ebx
call fcn.1401b3a94
lea rcx, [rbp + 0x120]
mov edx, edi
call fcn.1401b3a94
add byte [rax - 0x73], cl
lea rcx, [rbp + 0x120]
and byte [rcx], al
add dword [rax], eax
add byte [rcx + 0x65fe8f2], cl
add byte [rax], al
lea rbx, [r15 + 0x70]
mov rsi, qword [rbp + 0x128]
mov rdx, qword [rbp + 0x130]
add byte [rax], al
xor r8d, r8d
cmp rdx, r8
je 0x1401b345b
cmp byte [rsi + r8], 0
je case.0x140042a7a.1184
inc r8
jmp case.0x14000bc89.2695
mov r8, rdx
lea r9, [0x140264490]
mov rcx, rsi
call fcn.14015af46
fnstcw word [rdx - 6]
dec dword [rcx - 0x77]
ror byte [rax - 0x73], 1
jge 0x1401b3454
loopne 0x1401b34bd
mov ecx, edi
mov rdx, rax
call fcn.1400297e0
dec dword [rax - 0x7d]
invalid
invalid
je 0x1401b34aa
movzx eax, word [rbp - 0x60]
cmp rax, 0xe
ja 0x1401b34c0
invalid
lea rcx, [0x14028b048]
mov r8, qword [rcx + rax*8]
add al, 0xc1
movzx eax, ax
mov bh, 0xc0
lea rcx, [0x14028b0c0]
jl case.0x140148f55.2587
add byte [rax - 0x75], cl
adc al, 0xc1
jmp 0x1401b34cb
mov rdx, qword [rbp - 0x18]
mov r8, qword [rbp - 0x10]
invalid
invalid
lea rcx, [rbp + 0xb8]
lea edi, [rax - 0x18000000]
mov edi, 0x17ebffe8
jmp 0x1401b34d7
lea rdx, [0x140264467]
push 7
pop r8
pop rax
lea rcx, [rbp + 0xb8]
call fcn.14003f3ec
mov rax, qword [rbp + 0xb8]
mov qword [rbp + 0xa8], rax
mov rax, qword [rbp + 0xc0]
add byte [rax], al
mov qword [rbp + 0xe8], rax
test eax, ebp
add byte [rax], al
add byte [rax - 0x75], cl
test eax, ecx
add byte [rax], al
add byte [rax - 0x77], cl
mov qword [rbp + 0x68], rax
mov rax, qword [rbp + 0x108]
or byte [rcx], al
add byte [rax], al
mov qword [rbp + 0xb0], rax
test dword [rax + 0x48000000], esi
mov eax, dword [rbp + 0x110]
mov qword [rbp + 0xf0], rax
add byte [rax - 0x75], cl
test dword [rax], ebx
add dword [rax], eax
add byte [rax - 0x77], cl
jo 0x1401b356e
mov rcx, qword [rbp + 0x120]
mov rdx, rsi
call fcn.1400373d1
notrack call 0x10090c136
jne 0x1401b34f7
test r14b, r14b
je 0x1401b354d
lea rcx, [rbp + 0x80]
mov rdx, rsi
call case.0x14002e130.2531
add byte [rax], al
jmp 0x1401b355c
lea rcx, [rbp + 0x80]
mov rdx, rsi
mov edx, esi
call fcn.1401b0f98
mov qword [rbp + 0xf8], rbx
inc rsi
imul rbx, rsi, 0x70
push 8
pop rcx
mov rdx, rbx
call fcn.140004b2b
test rax, rax
test eax, eax
je 0x1401b37ac
mov r12, rax
lea rax, [rbp + 0x108]
mov qword [rax], rsi
mov qword [rax + 8], r12
invalid
or byte [rax - 0x7d], cl
invalid
adc byte [rax], al
mov r15, qword [rbp + 0x88]
mov ebp, 0x88
mov rax, qword [rbp + 0x90]
add byte [rax], al
lea rax, [r15 + rax*8]
mov qword [rbp + 0x60], rax
mov dword [rbp + 0x60], eax
xor edi, edi
lea rsi, [rbp + 0x120]
and byte [rcx], al
add byte [rax], al
mov qword [rbp + 0x78], r15
xor r14d, r14d
xor esi, esi
cmp r15, qword [rbp + 0x60]
je case.0x140148b47.1430
add dword [rax], eax
invalid
inc r14
mov qword [rbp + 0x58], r14
lea rax, str.CPU
mov qword [rbp + 0xb8], rax
push 1
pop rdx
mov qword [rbp + 0xc0], rdx
rol byte [rax], 0
add byte [rax - 0x7d], cl
movsd dword [rdi], dword [rsi]
fadd dword [rax]
add byte [rax], al
add byte [rax - 0x73], cl
pop r8
mov qword [rbp - 0x30], rax
lea rax, [fcn.140024bb0]
mov qword [rbp - 0x28], rax
mov dword [rbp - 0x28], eax
fmul dword [rax - 0x73]
lea rax, [rbp - 0x30]
ror byte [r8 - 0x77], 1
ror byte [rax - 0x77], 1
test eax, ecx
add byte [rax], al
add byte [rax - 0x77], cl
xchg ebp, eax
rol byte [rax], 1
add byte [rax], al
mov rcx, rsi
int1
lea rdx, [rbp + 0xb8]
add byte [rax], al
add al, ch
cmp ch, byte [rcx]
out 0xff, al
dec dword [rax - 0x75]
test dword [rax], esp
add dword [rax], eax
add byte [rax], al
add byte [rax - 0x77], cl
test dword [rax + 0x48000000], ebx
add byte [rax], al
mov rax, qword [rbp + 0x128]
sub byte [rcx], al
add dword [rax], eax
add byte [rax - 0x77], cl
mov dword [rbp + 0x100], eax
test dword [rax], eax
add dword [rax], eax
add byte [rax - 0x75], cl
popfq
xor byte [rcx], al
add byte [rax], al
mov r13, rsi
mov rcx, rsi
mov rdx, qword [rbp + 0xe8]
call 0x18c1b3650
add byte [rax], al
add byte [rbx + rcx*4 + 0x45], cl
push 0xffffffffe513d8e8
fcom dword [rbx]
in eax, 0xff
lea rcx, [rbp + 0xb8]
mov rdx, qword [rbp + 0xf0]
add byte [rax], al
add byte [rbx + rcx*4 + 0x45], cl
mov r8, qword [rbp + 0x70]
mov eax, dword [rbp + 0x70]
call fcn.140004a30
dec dword [rcx - 0x75]
invalid
mov rcx, qword [rbp + 0x130]
lea rdx, [rbp - 8]
clc
mov qword [rdx + 0x10], rcx
mov dword [rdx + 0x10], ecx
movups xmm0, xmmword [rbp + 0x120]
add dword [rax], eax
add byte [rdi], cl
adc dword [rdx], eax
mov rcx, qword [rbp + 0xc8]
invalid
enter 0, 0
add byte [rax - 0x77], cl
sub byte [rdi], cl
movups xmm0, xmmword [rbp + 0xb8]
movups xmmword [rdx + 0x18], xmm0
adc dword [rdx + 0x18], eax
mov rcx, qword [rbp + 0x98]
mov qword [rbp - 0x20], rcx
mov dword [rbp - 0x20], ecx
mov rcx, qword [rbp + 0x100]
lea eax, [rax]
add dword [rax], eax
add byte [rax - 0x77], cl
call 0x13078c003
movabs rcx, 0x8000000000000000
mov qword [rbp + 0x28], rcx
mov dword [rbp + 0x28], ecx
mov qword [rbp + 0x40], rax
and dword [rbp + 0x48], 0
cmp rdi, qword [rbp + 0x108]
or byte [rcx], al
add dword [rax], eax
add byte [rbp + 0x13], dh
invalid
lea rcx, [rbp + 0x108]
call fcn.1400c465c
mov r12, qword [rbp + 0x110]
add dword [rax], eax
invalid
add r15, 8
imul rcx, rdi, 0x70
iretd
jo 0x1401b3742
add ecx, esp
lea rdx, [rbp - 0x20]
push 0x70
pop r8
call sub.VCRUNTIME140.dll_memmove
inc rdi
mov qword [rbp + 0x118], rdi
mov ebp, 0x118
add byte [rcx + rcx*4 - 0x12], cl
out dx, al
jmp 0x1401b35ba
invalid
invalid
invalid
mov rax, qword [rbp + 0x118]
mov qword [rbp - 0x10], rax
movups xmm0, xmmword [rbp + 0x108]
add dword [rax], eax
add byte [rdi], cl
sub dword [rbp - 0x20], eax
mov rcx, qword [rbp + 0x80]
mov ecx, dword [rbp + 0x80]
mov rdx, qword [rbp + 0x78]
js 0x1401b3721
adc al, 0x13
adc edi, esp
dec dword [rax - 0x75]
mov ecx, dword [rbp + 0xb0]
mov rdx, qword [rbp + 0xf0]
call fcn.1400373d1
cmp al, 0xe8
call 0xcda68052
test al, 0
add byte [rax], al
add byte [rax - 0x75], cl
xchg ebp, eax
call 0x1281b375f
outsb dx, byte [rsi]
cmp al, 0xe8
call 0xcda68065
mov ecx, dword [rbp + 0xf8]
call case.0x140148f55.2562
dec dword [rax - 0x75]
invalid
invalid
mov rcx, qword [rbp + 0xf8]
mov ecx, dword [rbp + 0xf8]
add byte [rax - 0x77], cl
adc byte [r15], cl
sub byte [rbp - 0x20], al
movups xmmword [rcx], xmm0
adc dword [rcx], eax
mov al, byte [rbp + 0x13f]
test dword [rdi], edi
add dword [rax], eax
add byte [rax - 0x75], cl
lea esp, [rax - 0x78000000]
add byte [rax + 0x8881], cl
mov byte [rax], al
add byte [rax], al
invalid
add rsp, 0x1c8
pop rbx
pop rdi
pop rsi
pop r12
pop rsp
pop r13
pop rbp
pop r14
pop r15
pop rbp
ret
push 8
pop rcx
mov rdx, rbx
call fcn.1401c66e0
sub dword [rdi], ebp
invalid
add dword [rax], eax
add byte [rdi], cl
invalid
push 4
pop rcx
push 0x50
push rax
pop rdx
call fcn.1401c66e0
int3