Function at 0x6cc44a20
Capabilities:
Get number of processors
Get process heap flags

Disassembly:
push ebp
push edi
mov edi, edx
push esi
mov esi, eax
add eax, 0x64
push ebx
sub esp, 0x2c
mov dword [esp + 0x18], eax
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov ebx, dword [esi + 0x60]
sub esp, 4
test ebx, ebx
jne 0x6cc44a61
jmp 0x6cc44c48
mov eax, dword [ebx + 4]
cmovns eax, dword [ebx + 8]
mov ebx, eax
test eax, eax
je 0x6cc44c48
mov dword [esp + 4], ebx
mov dword [esp], edi
call dword [esi + 0x5c]
test eax, eax
jne 0x6cc44a50
mov edx, dword [ebx + 8]
mov ebp, dword [ebx + 4]
test edx, edx
je 0x6cc44b10
test ebp, ebp
je 0x6cc44ce8
lea esi, [esi]
mov ecx, edx
mov edx, dword [edx + 4]
test edx, edx
jne 0x6cc44a88
mov edi, dword [ecx]
mov edx, dword [ecx + 8]
test edi, edi
je 0x6cc44f4e
cmp dword [edi + 4], ecx
je 0x6cc44f60
mov dword [edi + 8], edx
mov ebp, edx
test edx, edx
jne 0x6cc44b30
test byte [ecx + 0xc], 1
je 0x6cc44b3f
mov eax, 1
cmp ebx, ecx
jne 0x6cc44b43
mov eax, dword [esi + 0x60]
test eax, eax
je 0x6cc44ad2
and dword [eax + 0xc], 0xfffffffe
mov eax, dword [esp + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
sub esp, 4
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapFree]
sub esp, 0xc
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret
mov edi, dword [ebx]
test ebp, ebp
je 0x6cc44fe0
test edi, edi
je 0x6cc44d20
cmp ebx, dword [edi + 4]
je 0x6cc44e20
mov dword [edi + 8], ebp
mov ecx, ebx
mov dword [ebp], edi
mov edi, dword [ecx]
test byte [ecx + 0xc], 1
jne 0x6cc44abe
cmp ebx, ecx
je 0x6cc44b9f
mov edx, dword [ebx]
mov dword [ecx], edx
mov dword [esp + 0x1c], edx
mov edx, dword [ebx + 4]
mov dword [ecx + 4], edx
mov edx, dword [ebx + 8]
mov dword [ecx + 8], edx
mov edx, dword [ebx + 0xc]
mov dword [ecx + 0xc], edx
mov edx, dword [esp + 0x1c]
test edx, edx
je 0x6cc44d10
mov edx, dword [esp + 0x1c]
cmp ebx, dword [edx + 4]
je 0x6cc44e18
mov edx, dword [esp + 0x1c]
mov dword [edx + 8], ecx
mov edx, dword [ecx + 8]
test edx, edx
je 0x6cc44b86
mov dword [edx], ecx
mov edx, dword [ecx + 4]
test edx, edx
je 0x6cc44b8f
mov dword [edx], ecx
cmp ebx, edi
je 0x6cc44d00
test eax, eax
jne 0x6cc44ac7
test edi, edi
je 0x6cc44c8e
test ebp, ebp
je 0x6cc44bb5
test byte [ebp + 0xc], 1
jne 0x6cc44ca0
mov eax, dword [edi + 4]
cmp eax, ebp
je 0x6cc44dbc
test eax, eax
je 0x6cc44fe7
mov edx, dword [eax + 0xc]
test dl, 1
jne 0x6cc44ca9
mov ecx, dword [eax + 4]
mov dword [esp + 0x1c], ecx
test ecx, ecx
je 0x6cc44d30
test byte [ecx + 0xc], 1
je 0x6cc44d30
mov ebp, dword [edi + 0xc]
mov edx, dword [edi + 4]
and ebp, 1
mov ecx, ebp
mov ebp, dword [eax + 0xc]
and ebp, 0xfffffffe
or ebp, ecx
mov dword [eax + 0xc], ebp
and dword [edi + 0xc], 0xfffffffe
mov eax, dword [esp + 0x1c]
and dword [eax + 0xc], 0xfffffffe
mov ecx, dword [edi]
test ecx, ecx
je 0x6cc44f80
cmp dword [ecx + 4], edi
je 0x6cc44f8a
mov eax, dword [esi + 0x60]
mov dword [ecx + 8], edx
mov esi, dword [edx + 8]
mov dword [edi + 4], esi
test esi, esi
je 0x6cc44c36
mov dword [esi], edi
mov ecx, dword [edi]
mov dword [edx + 8], edi
mov dword [edx], ecx
mov dword [edi], edx
jmp 0x6cc44aca
mov eax, dword [esp + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
sub esp, 4
test byte [0x6cc6a01c], 4
je 0x6cc44b06
mov dword [esp + 0xc], str.cannot_find_key_in_wrapper_lookup_n
mov dword [esp + 8], 0x6cc6cd10
mov dword [esp + 4], 0x6cc6a01c
mov dword [esp], 2
call fcn.6cc41490
jmp 0x6cc44b06
test ebp, ebp
je 0x6cc44ac7
lea esi, [esi]
lea esi, [esi]
and dword [ebp + 0xc], 0xfffffffe
jmp 0x6cc44ac7
and edx, 0xfffffffe
mov dword [eax + 0xc], edx
mov edx, dword [edi]
or dword [edi + 0xc], 1
test edx, edx
je 0x6cc44f9d
cmp dword [edx + 4], edi
je 0x6cc44f58
mov dword [edx + 8], eax
mov ecx, dword [eax + 8]
mov dword [edi + 4], ecx
test ecx, ecx
je 0x6cc44cd7
mov dword [ecx], edi
mov edx, dword [edi]
mov dword [eax + 8], edi
mov dword [eax], edx
mov dword [edi], eax
mov eax, ecx
jmp 0x6cc44bd4
mov edi, dword [ebx]
mov ecx, ebx
test edi, edi
jne 0x6cc44a9e
mov dword [esi + 0x60], edx
mov ebp, edx
jmp 0x6cc44b30
mov edi, ecx
test eax, eax
jne 0x6cc44ac7
jmp 0x6cc44ba7
mov dword [esi + 0x60], ecx
jmp 0x6cc44b7d
mov dword [esi + 0x60], ebp
mov ecx, ebx
jmp 0x6cc44b30
mov edx, dword [eax + 8]
test edx, edx
je 0x6cc44df0
test byte [edx + 0xc], 1
je 0x6cc44df0
mov ecx, dword [esp + 0x1c]
test ecx, ecx
jne 0x6cc44f68
mov ecx, dword [eax]
and dword [edx + 0xc], 0xfffffffe
or dword [eax + 0xc], 1
test ecx, ecx
je 0x6cc44f95
cmp eax, dword [ecx + 4]
je 0x6cc44fa5
mov dword [ecx + 8], edx
mov ebp, dword [edx + 4]
mov dword [eax + 8], ebp
test ebp, ebp
je 0x6cc44d7e
mov dword [ebp], eax
mov ecx, dword [eax]
movd xmm0, ecx
movd xmm1, eax
mov ebp, dword [edi + 0xc]
punpckldq xmm0, xmm1
movq qword [edx], xmm0
mov dword [eax], edx
mov edx, dword [edi + 4]
and ebp, 1
mov eax, dword [edx + 0xc]
mov ecx, dword [edx + 4]
and eax, 0xfffffffe
or eax, ebp
mov dword [esp + 0x1c], ecx
mov dword [edx + 0xc], eax
and dword [edi + 0xc], 0xfffffffe
test ecx, ecx
jne 0x6cc44c07
jmp 0x6cc44c0f
mov eax, dword [edi + 8]
test eax, eax
je 0x6cc44fe7
mov edx, dword [eax + 0xc]
test dl, 1
jne 0x6cc44f07
mov edx, dword [eax + 4]
test edx, edx
je 0x6cc44de4
test byte [edx + 0xc], 1
jne 0x6cc44ea0
mov ecx, dword [eax + 8]
test ecx, ecx
jne 0x6cc44e28
lea esi, [esi]
nop
or dword [eax + 0xc], 1
mov ebp, edi
mov eax, dword [edi]
test eax, eax
je 0x6cc44ca0
mov edi, eax
test byte [ebp + 0xc], 1
jne 0x6cc44ca0
jmp 0x6cc44bb5
mov dword [edx + 4], ecx
jmp 0x6cc44b7d
mov dword [edi + 4], ebp
jmp 0x6cc44b2e
test byte [ecx + 0xc], 1
je 0x6cc44df0
test byte [ecx + 0xc], 1
je 0x6cc44ea7
mov edx, dword [edi + 8]
mov dword [esp + 0x1c], edx
mov edx, dword [edi + 0xc]
and edx, 1
mov ebp, edx
mov edx, dword [eax + 0xc]
and edx, 0xfffffffe
or edx, ebp
mov dword [eax + 0xc], edx
and dword [edi + 0xc], 0xfffffffe
and dword [ecx + 0xc], 0xfffffffe
mov edx, dword [edi]
mov eax, dword [esp + 0x1c]
test edx, edx
je 0x6cc44fad
cmp dword [edx + 4], edi
je 0x6cc44fb5
mov dword [edx + 8], eax
mov eax, dword [esi + 0x60]
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx + 4]
mov dword [edi + 8], ecx
test ecx, ecx
je 0x6cc44e85
mov dword [ecx], edi
mov edx, dword [edi]
mov ecx, dword [esp + 0x1c]
movd xmm0, edx
movd xmm2, edi
punpckldq xmm0, xmm2
movq qword [ecx], xmm0
mov dword [edi], ecx
jmp 0x6cc44aca
mov ecx, dword [eax + 8]
test ecx, ecx
jne 0x6cc44e2e
mov ecx, dword [eax]
and dword [edx + 0xc], 0xfffffffe
or dword [eax + 0xc], 1
test ecx, ecx
je 0x6cc44fc0
cmp eax, dword [ecx + 4]
je 0x6cc44fd0
mov dword [ecx + 8], edx
mov ebp, dword [edx + 8]
mov dword [eax + 4], ebp
test ebp, ebp
je 0x6cc44ed4
mov dword [ebp], eax
mov ecx, dword [eax]
mov dword [edx + 8], eax
mov ebp, dword [edi + 8]
mov dword [edx], ecx
mov dword [eax], edx
mov eax, dword [edi + 0xc]
mov edx, dword [ebp + 0xc]
mov dword [esp + 0x1c], ebp
mov ecx, dword [ebp + 8]
and eax, 1
and edx, 0xfffffffe
or edx, eax
mov dword [ebp + 0xc], edx
and dword [edi + 0xc], 0xfffffffe
test ecx, ecx
jne 0x6cc44e52
jmp 0x6cc44e56
and edx, 0xfffffffe
mov dword [eax + 0xc], edx
mov edx, dword [edi]
or dword [edi + 0xc], 1
test edx, edx
je 0x6cc44fc8
cmp dword [edx + 4], edi
je 0x6cc44fd8
mov dword [edx + 8], eax
mov ecx, dword [eax + 4]
mov dword [edi + 8], ecx
test ecx, ecx
je 0x6cc44f35
mov dword [ecx], edi
mov edx, dword [edi]
movd xmm0, edx
movd xmm3, edi
punpckldq xmm0, xmm3
movq qword [eax], xmm0
mov dword [edi], eax
mov eax, ecx
jmp 0x6cc44dd3
mov dword [esi + 0x60], edx
mov ebp, edx
jmp 0x6cc44aac
mov dword [edx + 4], eax
jmp 0x6cc44cc9
mov dword [edi + 4], edx
jmp 0x6cc44aaa
mov ecx, dword [esp + 0x1c]
test byte [ecx + 0xc], 1
je 0x6cc44d51
jmp 0x6cc44bed
mov dword [esi + 0x60], edx
mov eax, edx
jmp 0x6cc44c28
mov eax, dword [esi + 0x60]
mov dword [ecx + 4], edx
jmp 0x6cc44c28
mov dword [esi + 0x60], edx
jmp 0x6cc44d6f
mov dword [esi + 0x60], eax
jmp 0x6cc44cc9
mov dword [ecx + 4], edx
jmp 0x6cc44d6f
mov dword [esi + 0x60], eax
jmp 0x6cc44e73
mov dword [edx + 4], eax
mov eax, dword [esi + 0x60]
jmp 0x6cc44e73
mov dword [esi + 0x60], edx
jmp 0x6cc44ec5
mov dword [esi + 0x60], eax
jmp 0x6cc44f27
mov dword [ecx + 4], edx
jmp 0x6cc44ec5
mov dword [edx + 4], eax
jmp 0x6cc44f27
mov ecx, ebx
jmp 0x6cc44a93
mov eax, dword [4]
ud2