Function at 0x180003fe0
Capabilities:
Get number of processors

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x68
lea rbp, [rsp + 0x60]
movaps xmmword [rbp - 0x10], xmm6
mov qword [rbp - 0x18], 0xfffffffffffffffe
mov rsi, rcx
lea rcx, [0x180021178]
lea rdx, [0x180021600]
call sub.VCRUNTIME140.dll___std_type_info_name
add rsi, 0xfffffffffffffda0
mov rcx, rsi
mov rdx, rax
call qword [sym.imp.Geode.dll_private:_class_geode::modifier::FieldContainer____ptr64___cdecl_cocos2d::CCNode::getFieldContainer_char_const____ptr64____ptr64]
mov rsi, rax
mov eax, dword [0x1800216f0]
mov ecx, dword [0x180021674]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x180004619
mov r15, qword [0x1800216e8]
mov rax, qword [rsi]
mov rdi, qword [rsi + 8]
mov rcx, rdi
sub rcx, rax
sar rcx, 3
cmp rcx, r15
jbe 0x180004156
mov rdi, qword [rax + r15*8]
test rdi, rdi
jne 0x18000413e
mov ecx, 0x10
call fcn.180018944
lea rbx, vtable.geode::utils::MiniFunctionState_void____cdecl___void____ptr64___void__void____ptr64_.0
mov qword [rax], rbx
lea rcx, [method.geode::modifier::ModifyBase_struct_geode::modifier::ModifyDerive_struct_GFDifficultySprite__class_GJDifficultySprite__.virtual_0]
mov qword [rbp - 0x20], rax
mov qword [rax + 8], rcx
mov rdi, qword [0x1800216e8]
mov ecx, 8
call fcn.180018944
mov rcx, qword [rsi]
mov rdx, qword [rsi + 8]
sub rdx, rcx
sar rdx, 3
cmp rdx, rdi
jbe 0x180004666
mov qword [rcx + rdi*8], rax
mov r14, qword [rsi + 0x18]
mov rax, qword [rsi + 0x20]
sub rax, r14
sar rax, 3
cmp rax, rdi
jbe 0x18000466b
mov rcx, qword [r14 + rdi*8]
test rcx, rcx
je 0x1800040fa
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov ecx, 0x10
call fcn.180018944
mov qword [rax], rbx
mov rcx, qword [rbp - 0x20]
mov rdx, qword [rcx + 8]
mov qword [rax + 8], rdx
mov qword [r14 + rdi*8], rax
mov rax, qword [rsi]
mov rdx, qword [rsi + 8]
sub rdx, rax
sar rdx, 3
cmp rdx, rdi
jbe 0x180004670
mov rdi, qword [rax + rdi*8]
call fcn.180018980
mov qword [rdi], 0
mov rax, rdi
movaps xmm6, xmmword [rbp - 0x10]
add rsp, 0x68
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
xorps xmm6, xmm6
jmp 0x180004186
mov qword [rdi], 0
add qword [rsi + 0x20], 8
mov rax, qword [rsi]
mov rdi, qword [rsi + 8]
mov rcx, rdi
sub rcx, rax
sar rcx, 3
cmp rcx, r15
ja 0x180004073
cmp rdi, qword [rsi + 0x10]
je 0x1800041a0
mov qword [rdi], 0
add qword [rsi + 8], 8
jmp 0x1800042c1
mov r14, rdi
sub r14, rax
sar r14, 3
lea r12, [r14 + 1]
mov r13, r14
shr r13, 1
movabs rcx, 0x1fffffffffffffff
mov rax, rcx
sub rax, r13
add r13, r14
cmp r13, r12
cmovbe r13, r12
cmp r14, rax
cmova r13, rcx
mov rax, r13
shr rax, 0x3d
jne 0x180004608
test r13, r13
je 0x180004222
lea rcx, [r13*8]
cmp r13, 0x200
jb 0x180004226
movabs rax, 0x1ffffffffffffffc
cmp r13, rax
jae 0x180004608
add rcx, 0x27
call fcn.180018944
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x18000422e
xor ebx, ebx
jmp 0x18000422e
call fcn.180018944
mov rbx, rax
mov qword [rbx + r14*8], 0
cmp qword [rsi + 8], rdi
je 0x180004264
lea r14, [rbx + r14*8]
add r14, 8
mov rdx, qword [rsi]
mov r8, rdi
sub r8, rdx
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov r8, qword [rsi + 8]
sub r8, rdi
mov rcx, r14
mov rdx, rdi
jmp 0x180004270
mov rdx, qword [rsi]
sub rdi, rdx
mov rcx, rbx
mov r8, rdi
call sub.VCRUNTIME140.dll_memmove
mov rcx, qword [rsi]
test rcx, rcx
je 0x1800042ae
mov rdx, qword [rsi + 0x10]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x1800042a9
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x180004613
add rdx, 0x27
mov rcx, rax
call fcn.180018988
mov qword [rsi], rbx
lea rax, [rbx + r12*8]
mov qword [rsi + 8], rax
lea rax, [rbx + r13*8]
mov qword [rsi + 0x10], rax
mov rdi, qword [rsi + 0x20]
cmp rdi, qword [rsi + 0x28]
jne 0x180004160
mov r13, rdi
sub r13, qword [rsi + 0x18]
mov r14, r13
sar r14, 3
lea rbx, [r14 + 1]
mov rdx, r14
shr rdx, 1
movabs rcx, 0x1fffffffffffffff
mov rax, rcx
sub rax, rdx
add rdx, r14
cmp rdx, rbx
cmovbe rdx, rbx
cmp r14, rax
cmova rdx, rcx
mov rax, rdx
shr rax, 0x3d
jne 0x180004608
test rdx, rdx
mov qword [rbp - 0x28], rdx
je 0x180004359
lea rcx, [rdx*8]
cmp rdx, 0x200
jb 0x18000435d
movabs rax, 0x1ffffffffffffffc
cmp rdx, rax
jae 0x180004608
add rcx, 0x27
call fcn.180018944
lea rcx, [rax + 0x27]
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x180004365
xor ecx, ecx
jmp 0x180004365
call fcn.180018944
mov rcx, rax
lea r11, [rcx + r14*8]
mov qword [rbp - 0x20], rcx
mov qword [rcx + r14*8], 0
mov r12, qword [rsi + 0x18]
mov rax, qword [rsi + 0x20]
cmp rax, rdi
je 0x1800043aa
cmp r12, rdi
je 0x18000448e
mov rdx, rdi
sub rdx, r12
add rdx, 0xfffffffffffffff8
cmp rdx, 0x88
jae 0x1800043f8
mov rax, r12
mov rcx, qword [rbp - 0x20]
jmp 0x180004470
cmp r12, rdi
je 0x18000450e
xor edx, edx
mov qword [rbp - 0x38], r11
jmp 0x1800043df
xor eax, eax
mov rcx, qword [rbp - 0x20]
mov qword [rcx + rdx], rax
lea rax, [r12 + rdx]
add rax, 8
add rdx, 8
cmp rax, rdi
je 0x18000450a
mov rcx, qword [r12 + rdx]
test rcx, rcx
je 0x1800043c0
mov qword [rbp - 0x30], rdx
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rdx, qword [rbp - 0x30]
jmp 0x1800043c2
mov rax, rdx
and rax, 0xfffffffffffffff8
lea rcx, [r12 + rax]
add rcx, 8
mov r10, qword [rbp - 0x20]
cmp r10, rcx
jae 0x180004424
add rax, r10
add rax, 8
cmp r12, rax
jae 0x180004424
mov rax, r12
mov rcx, r10
jmp 0x180004470
shr rdx, 3
inc rdx
mov r8, rdx
and r8, 0xfffffffffffffffc
lea rax, [r12 + r8*8]
lea rcx, [r10 + r8*8]
xor r9d, r9d
nop dword [rax]
movups xmm0, xmmword [r12 + r9*8]
movups xmm1, xmmword [r12 + r9*8 + 0x10]
movups xmmword [r10 + r9*8], xmm0
movups xmmword [r10 + r9*8 + 0x10], xmm1
movups xmmword [r12 + r9*8], xmm6
movups xmmword [r12 + r9*8 + 0x10], xmm6
add r9, 4
cmp r8, r9
jne 0x180004440
cmp rdx, r8
je 0x18000448a
nop
mov rdx, qword [rax]
mov qword [rcx], rdx
mov qword [rax], 0
add rcx, 8
add rax, 8
cmp rax, rdi
jne 0x180004470
mov rax, qword [rsi + 0x20]
mov rdx, rax
sub rdx, rdi
je 0x18000450a
add rdx, 0xfffffffffffffff8
cmp rdx, 0xb8
jb 0x1800044df
and r13, 0xfffffffffffffff8
mov r10, qword [rbp - 0x20]
lea r8, [r10 + r13]
add r8, 8
mov rcx, rdx
and rcx, 0xfffffffffffffff8
lea r9, [rdi + rcx]
add r9, 8
cmp r8, r9
jae 0x1800045a2
add r13, rcx
lea rcx, [r10 + r13]
add rcx, 0x10
cmp rdi, rcx
jae 0x1800045a2
mov rcx, rdi
add r11, 8
nop word cs:[rax + rax]
mov rdx, qword [rcx]
mov qword [r11], rdx
mov qword [rcx], 0
add rcx, 8
add r11, 8
cmp rcx, rax
jne 0x1800044f0
mov rdi, qword [rsi + 0x18]
test rdi, rdi
mov r12, qword [rbp - 0x28]
je 0x180004585
mov r14, qword [rsi + 0x20]
cmp rdi, r14
jne 0x180004539
jmp 0x180004551
add rdi, 8
cmp rdi, r14
je 0x18000454d
mov rcx, qword [rdi]
test rcx, rcx
je 0x180004530
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
jmp 0x180004530
mov rdi, qword [rsi + 0x18]
mov rdx, qword [rsi + 0x28]
sub rdx, rdi
cmp rdx, 0x1000
jb 0x18000457d
mov rax, qword [rdi - 8]
add rdi, 0xfffffffffffffff8
sub rdi, rax
cmp rdi, 0x20
jae 0x18000460d
add rdx, 0x27
mov rdi, rax
mov rcx, rdi
call fcn.180018988
mov rcx, qword [rbp - 0x20]
mov qword [rsi + 0x18], rcx
lea rax, [rcx + rbx*8]
mov qword [rsi + 0x20], rax
lea rax, [rcx + r12*8]
mov qword [rsi + 0x28], rax
jmp 0x18000416c
shr rdx, 3
inc rdx
mov r8, rdx
and r8, 0xfffffffffffffffc
lea rcx, [rdi + r8*8]
lea r11, [r11 + r8*8]
lea r9, [r10 + r14*8]
add r9, 0x18
xor r10d, r10d
nop word cs:[rax + rax]
movups xmm0, xmmword [rdi + r10*8]
movups xmm1, xmmword [rdi + r10*8 + 0x10]
movups xmmword [r9 + r10*8 - 0x10], xmm0
movups xmmword [r9 + r10*8], xmm1
movups xmmword [rdi + r10*8], xmm6
movups xmmword [rdi + r10*8 + 0x10], xmm6
add r10, 4
cmp r8, r10
jne 0x1800045d0
cmp rdx, r8
je 0x18000450a
jmp 0x1800044e2
call fcn.180003760
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
lea rcx, [0x1800216f0]
call fcn.1800189d8
cmp dword [0x1800216f0], 0xffffffff
jne 0x180004052
lea rcx, [0x180021178]
lea rdx, [0x180021600]
call sub.VCRUNTIME140.dll___std_type_info_name
mov rcx, rax
call qword [sym.imp.Geode.dll_unsigned_long_long_unsigned___int64____cdecl_geode::modifier::getFieldIndexForClass_char_const____ptr64_]
mov qword [0x1800216e8], rax
lea rcx, [0x1800216f0]
call fcn.180018a8c
jmp 0x180004052
call fcn.1800048f0
call fcn.1800048f0
call fcn.1800048f0
int3