Function at 0x14001fc40
Capabilities:
Check os version
Get number of processors
Resolve function by parsing pe exports

Disassembly:
push rbp
push rsi
push rdi
push r13
sub rsp, 0xb8
mov rax, qword gs:[0x58]
mov ecx, 8
mov qword [rsp + 0xa8], r12
movaps xmmword [rsp + 0x60], xmm8
mov r13, qword [rax]
cmp byte [rcx + r13], 0
jne 0x14001fc78
call fcn.140066538
mov qword [rsp + 0xb0], rbx
xor ebp, ebp
mov eax, 0x10
xorps xmm8, xmm8
mov qword [rsp + 0xa0], r14
mov qword [rsp + 0x98], r15
mov rdi, qword [rax + r13]
mov r12d, dword [rdi + 0x3e6c]
shr r12d, 0xa
and r12b, 1
mov dword [rsp + 0xe0], r12d
je 0x14001ff1f
mov rsi, qword [rdi + 0x4c38]
mov r14d, ebp
movsxd rax, dword [rdi + 0x4c30]
lea r12, [rsi + rax*8]
cmp rsi, r12
je 0x14001ff17
nop word [rax + rax]
mov rbx, qword [rsi]
mov rax, qword [rdi + 0x3970]
movzx r15d, byte [rbx + 0x58]
test rax, rax
je 0x14001fd12
test r15b, r15b
je 0x14001fd12
mov rcx, rbx
call rax
mov ecx, dword [rbx + 4]
test al, al
je 0x14001fd0b
bts ecx, 0xc
jmp 0x14001fd0f
btr ecx, 0xc
mov dword [rbx + 4], ecx
mov rax, qword [rdi + 0x3968]
test rax, rax
je 0x14001fd3f
test r15b, r15b
je 0x14001fd3f
mov rcx, rbx
call rax
mov ecx, dword [rbx + 4]
test al, al
je 0x14001fd38
bts ecx, 0xd
mov r14, rbx
jmp 0x14001fd3c
btr ecx, 0xd
mov dword [rbx + 4], ecx
add rsi, 8
cmp rsi, r12
jne 0x14001fce0
test r14, r14
je 0x14001ff17
mov edx, dword [rdi + 0x4c60]
mov r8d, dword [r14]
cmp edx, r8d
je 0x14001fee1
test dword [rdi + 0x61fc], 0x100
je 0x14001fd7b
lea rcx, str._viewport__Focused_viewport_changed__08X_____08X__attempting_to_apply_our_focus._n
call fcn.14002b890
mov ebx, dword [rdi + 0x4c60]
mov r8d, 8
cmp byte [r8 + r13], bpl
jne 0x14001fd98
call fcn.140066538
mov r8d, 8
mov esi, 0x10
mov rax, qword [rsi + r13]
mov rcx, qword [rax + 0x4c38]
movsxd rax, dword [rax + 0x4c30]
lea rdx, [rcx + rax*8]
cmp rcx, rdx
je 0x14001fdd4
nop dword [rax + rax]
mov rax, qword [rcx]
cmp dword [rax], ebx
je 0x14001fe45
add rcx, 8
cmp rcx, rdx
jne 0x14001fdc0
mov bl, 1
mov eax, dword [rdi + 0x4ca0]
cmp dword [r14 + 0x70], eax
je 0x14001fdee
inc eax
mov dword [rdi + 0x4ca0], eax
mov dword [r14 + 0x70], eax
mov eax, dword [r14]
mov dword [rdi + 0x4c60], eax
cmp byte [r8 + r13], bpl
jne 0x14001fe08
call fcn.140066538
mov r8d, 8
mov rcx, qword [rsi + r13]
mov rax, rbp
nop
cmp byte [rcx + rax + 0xe58], bpl
jne 0x14001fee1
inc rax
cmp rax, 5
jl 0x14001fe10
test bl, bl
jne 0x14001fee1
mov rax, qword [rdi + 0x4ca8]
test rax, rax
je 0x14001fe56
cmp qword [rax + 0x40], r14
jne 0x14001fe56
mov al, 1
jmp 0x14001fe58
cmp byte [rax + 0x58], bpl
je 0x14001fdd4
xor bl, bl
jmp 0x14001fdd6
xor al, al
or al, byte [r14 + 0x88]
mov rcx, qword [r14 + 0x60]
mov byte [r14 + 0x88], al
test rcx, rcx
jne 0x14001fed7
test al, al
je 0x14001fed5
cmp byte [r8 + r13], bpl
jne 0x14001fe7e
call fcn.140066538
mov rcx, qword [rsi + r13]
mov eax, dword [rcx + 0x40f8]
sub eax, 1
js 0x14001fed0
movsxd rdx, eax
mov rax, qword [rcx + 0x4100]
lea r8, [rax + rdx*8]
nop dword [rax + rax]
mov rcx, qword [r8]
test rcx, rcx
je 0x14001fec6
cmp byte [rcx + 0xf4], bpl
je 0x14001fec6
cmp qword [rcx + 0x40], r14
jne 0x14001fec6
mov eax, dword [rcx + 0x14]
and eax, 0x10200
cmp eax, 0x10200
jne 0x14001fed7
sub r8, 8
sub rdx, 1
jns 0x14001fea0
mov rcx, rbp
jmp 0x14001fed7
xor ecx, ecx
mov edx, 3
call fcn.140012510
mov rax, qword [rdi + 0x4ca8]
test rax, rax
je 0x14001fef7
cmp qword [rax + 0x40], r14
jne 0x14001fef7
mov al, 1
jmp 0x14001fef9
xor al, al
mov r12d, dword [rsp + 0xe0]
lea r15, [rdi + 0x4c38]
mov byte [r14 + 0x88], al
mov rax, qword [r15]
mov rdx, qword [rax]
jmp 0x14001ff3e
mov r12d, dword [rsp + 0xe0]
lea r15, [rdi + 0x4c38]
mov rax, qword [r15]
mov qword [rsp + 0x30], r15
mov rdx, qword [rax]
mov qword [rsp + 0xe8], rdx
test r12b, r12b
je 0x14001ff9c
mov rax, qword [rdi + 0x3948]
lea rcx, [rsp + 0xe8]
mov rbx, rdx
mov qword [rsp + 0x30], r15
call rax
test dword [rbx + 4], 0x1000
movsd xmm1, qword [rdi + 0x10]
movsd xmm0, qword [rax]
movsd qword [rsp + 0xf8], xmm0
movsd qword [rsp + 0xf0], xmm1
mov qword [rsp + 0xe8], rbx
je 0x14001ffc7
movsd xmm0, qword [rbx + 8]
movsd xmm1, qword [rbx + 0x10]
mov qword [rsp + 0x30], r15
mov qword [rsp + 0xe8], rbx
jmp 0x14001ffb5
movsd xmm1, qword [rdi + 0x10]
lea rax, [rsp + 0xf0]
mov qword [rsp + 0xf0], rbp
movsd xmm0, qword [rax]
movsd qword [rsp + 0xf0], xmm1
movsd qword [rsp + 0xf8], xmm0
lea r9, [rsp + 0xf0]
mov dword [rsp + 0x20], 0x804
lea r8, [rsp + 0xf8]
mov edx, 0x11111111
xor ecx, ecx
call fcn.1400206f0
mov esi, ebp
mov dword [rdi + 0x4c40], ebp
mov qword [rdi + 0x4c48], rbp
mov qword [rdi + 0x4c50], rbp
cmp dword [rdi + 0x4c30], ebp
jle 0x140020306
movaps xmmword [rsp + 0x80], xmm6
mov r14, rbp
movaps xmmword [rsp + 0x50], xmm9
movss xmm9, dword [0x140090cc0]
movaps xmmword [rsp + 0x70], xmm7
nop dword [rax]
mov rax, qword [r15]
mov rbx, qword [r14 + rax]
mov dword [rbx + 0x68], esi
test esi, esi
jle 0x14002005f
mov eax, dword [rdi + 0x40a0]
sub eax, 2
cmp dword [rbx + 0x6c], eax
jge 0x14002005f
mov rcx, rbx
call fcn.140020ac0
dec esi
sub r14, 8
jmp 0x1400202d9
movzx r15d, byte [rbx + 0x58]
test r12b, r12b
je 0x1400200ef
test dword [rbx + 4], 0x1000
jne 0x1400200ef
test r15b, r15b
je 0x1400200ef
cmp byte [rbx + 0x59], bpl
je 0x1400200b5
mov rdx, rbx
lea rcx, [rsp + 0xf0]
call qword [rdi + 0x3948]
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
movss dword [rbx + 0x108], xmm0
movss dword [rbx + 0x10c], xmm1
movss dword [rbx + 8], xmm0
movss dword [rbx + 0xc], xmm1
cmp byte [rbx + 0x5a], bpl
je 0x1400200ef
mov rdx, rbx
lea rcx, [rsp + 0xf8]
call qword [rdi + 0x3958]
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
movss dword [rbx + 0x110], xmm0
movss dword [rbx + 0x114], xmm1
movss dword [rbx + 0x10], xmm0
movss dword [rbx + 0x14], xmm1
movss xmm0, dword [rbx + 8]
lea rcx, [rsp + 0x38]
movss xmm1, dword [rbx + 0xc]
movss dword [rsp + 0x38], xmm0
addss xmm0, dword [rbx + 0x10]
movss dword [rsp + 0x3c], xmm1
addss xmm1, dword [rbx + 0x14]
movss dword [rsp + 0x40], xmm0
movss dword [rsp + 0x44], xmm1
call fcn.140021a70
test dword [rbx + 4], 0x800
lea rdx, [rbx + 0x78]
movsd xmm4, qword [rbx + 0x130]
movsd xmm3, qword [rbx + 0x138]
movaps xmm0, xmm4
movss xmm6, dword [rbx + 0xc]
movaps xmm2, xmm4
movss xmm5, dword [rbx + 8]
movaps xmm1, xmm6
shufps xmm0, xmm0, 0x55
addss xmm2, xmm5
addss xmm1, xmm0
mov word [rbx + 0x8a], ax
movss xmm0, dword [rbx + 0x10]
subss xmm0, xmm4
mov qword [rbx + 0x138], rbp
mov qword [rbx + 0x130], rbp
movss dword [rbx + 0x18], xmm2
movaps xmm2, xmm8
movss dword [rbx + 0x1c], xmm1
movss xmm1, dword [rbx + 0x14]
addss xmm0, xmm3
movsd qword [rbx + 0x128], xmm3
movsd qword [rbx + 0x120], xmm4
maxss xmm2, xmm0
movaps xmm0, xmm4
shufps xmm0, xmm0, 0x55
subss xmm1, xmm0
movaps xmm0, xmm8
addss xmm1, dword [rbx + 0x12c]
movss dword [rbx + 0x20], xmm2
mov dword [rbx + 0x80], 0x3f800000
maxss xmm0, xmm1
movss dword [rbx + 0x24], xmm0
subss xmm5, dword [rdx]
subss xmm6, dword [rdx + 4]
je 0x1400201fe
ucomiss xmm5, xmm8
jp 0x1400201f2
jne 0x1400201f2
ucomiss xmm6, xmm8
jp 0x1400201f2
je 0x1400201fe
lea r8, [rbx + 8]
mov rcx, rbx
call fcn.14001f880
mov rax, qword [rdi + 0x39a0]
test rax, rax
je 0x140020219
test r15b, r15b
je 0x140020219
mov rcx, rbx
call rax
movaps xmm7, xmm0
jmp 0x14002024e
movsx rax, word [rbx + 0x8a]
cmp ax, 0xffff
je 0x14002023d
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x39e8]
add rcx, rcx
movss xmm7, dword [rax + rcx*8 + 0x20]
jmp 0x14002024e
movss xmm7, dword [rbx + 0x28]
ucomiss xmm7, xmm8
jp 0x14002024e
jne 0x14002024e
movaps xmm7, xmm9
movss xmm0, dword [rbx + 0x28]
ucomiss xmm0, xmm8
jp 0x14002025b
je 0x1400202cf
ucomiss xmm7, xmm0
jp 0x140020262
je 0x1400202cf
test dword [rdi + 8], 0x4000
movaps xmm6, xmm7
divss xmm6, xmm0
je 0x1400202cf
mov eax, 8
cmp byte [rax + r13], bpl
jne 0x140020282
call fcn.140066538
mov rcx, qword [rbx + 0x60]
mov eax, 0x10
mov rax, qword [rax + r13]
test rcx, rcx
je 0x14002029e
movaps xmm1, xmm6
call fcn.1400088f0
jmp 0x1400202cf
mov rdx, qword [rax + 0x40f0]
movsxd rax, dword [rax + 0x40e8]
lea r8, [rdx + rax*8]
cmp rdx, r8
je 0x1400202cf
mov rcx, qword [rdx]
cmp qword [rcx + 0x40], rbx
jne 0x1400202c6
movaps xmm1, xmm6
call fcn.1400088f0
add rdx, 8
cmp rdx, r8
jne 0x1400202b5
mov r15, qword [rsp + 0x30]
movss dword [rbx + 0x28], xmm7
mov r12d, dword [rsp + 0xe0]
inc esi
add r14, 8
cmp esi, dword [rdi + 0x4c30]
jl 0x140020030
movaps xmm9, xmmword [rsp + 0x50]
movaps xmm7, xmmword [rsp + 0x70]
movaps xmm6, xmmword [rsp + 0x80]
movaps xmm8, xmmword [rsp + 0x60]
mov r15, qword [rsp + 0x98]
mov r14, qword [rsp + 0xa0]
mov r12, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xe8]
cmp dword [rdi + 0x39e0], ebp
jne 0x140020371
movsd xmm0, qword [rcx + 8]
movsd qword [rdi + 0x4c68], xmm0
movsd xmm1, qword [rcx + 0x10]
movsd qword [rdi + 0x4c70], xmm1
movsd xmm0, qword [rcx + 0x18]
movsd qword [rdi + 0x4c78], xmm0
movsd xmm1, qword [rcx + 0x20]
movsd qword [rdi + 0x4c80], xmm1
mov eax, dword [rcx + 0x28]
mov dword [rdi + 0x4c88], eax
cmp byte [rsp + 0xe0], bpl
jne 0x140020387
mov qword [rdi + 0x4c50], rcx
jmp 0x1400204ce
test dword [rdi + 0xc], 0x800
je 0x1400203ee
mov esi, dword [rdi + 0xe6c]
test esi, esi
je 0x140020417
mov eax, 8
cmp byte [rax + r13], bpl
jne 0x1400203aa
call fcn.140066538
mov eax, 0x10
mov rax, qword [rax + r13]
mov rcx, qword [rax + 0x4c38]
movsxd rax, dword [rax + 0x4c30]
lea rdx, [rcx + rax*8]
cmp rcx, rdx
je 0x1400203e0
nop word [rax + rax]
mov rbx, qword [rcx]
cmp dword [rbx], esi
je 0x1400203e3
add rcx, 8
cmp rcx, rdx
jne 0x1400203d0
mov rbx, rbp
test rbx, rbx
je 0x1400203fd
test byte [rbx + 4], 0x80
je 0x1400203fd
lea rcx, [rdi + 0xe50]
call fcn.14001fb80
mov rbx, rax
lea rax, [rdi + 0x4c58]
mov rcx, rax
test rbx, rbx
je 0x140020424
mov qword [rax], rbx
mov rdx, rbx
mov rax, rbx
jmp 0x14002043f
lea rax, [rdi + 0x4c58]
mov rbx, rbp
mov rcx, rax
mov rax, qword [rax]
mov rdx, rax
test rax, rax
jne 0x14002043f
mov rax, qword [rdi + 0x4c38]
mov rax, qword [rax]
mov qword [rcx], rax
mov rdx, rax
mov rcx, qword [rdi + 0x4160]
test rcx, rcx
je 0x140020454
mov rcx, qword [rcx + 0x40]
test rcx, rcx
jne 0x140020457
mov rcx, rax
mov qword [rdi + 0x4c50], rcx
cmp byte [rdi + 0x4ec0], bpl
je 0x140020471
test rbx, rbx
jne 0x1400204b8
mov rbx, rdx
jmp 0x1400204b3
cmp dword [rdi + 0x41ac], ebp
je 0x1400204b3
mov rax, qword gs:[0x58]
mov rsi, qword [rax]
mov eax, 8
cmp byte [rsi + rax], bpl
jne 0x140020495
call fcn.140066538
mov eax, 0x10
mov rax, qword [rax + rsi]
nop
cmp byte [rax + rbp + 0xe58], 0
jne 0x1400204ce
inc rbp
cmp rbp, 5
jl 0x1400204a0
test rbx, rbx
je 0x1400204ce
cmp rbx, qword [rdi + 0x4c50]
je 0x1400204ce
test byte [rbx + 4], 0x80
jne 0x1400204ce
mov qword [rdi + 0x4c50], rbx
mov rbx, qword [rsp + 0xb0]
add rsp, 0xb8
pop r13
pop rdi
pop rsi
pop rbp
ret