Function at 0x441990
Capabilities:
Access peb ldr_data
Get number of processors
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x58357a
mov eax, dword fs:[0]
push eax
sub esp, 0x38
push ebx
push esi
push edi
mov eax, dword [0x6236f8]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x10], ebx
mov esi, dword [ebp + 8]
mov ecx, dword [ebx + 0x50]
mov eax, dword [esi]
mov dword [eax], ecx
mov ecx, dword [esi]
lea edx, [ebx + 0x60]
push edx
lea ecx, [ecx + 0x58]
call fcn.00407060
mov eax, dword [esi]
lea ecx, [ebx + 0x58]
push ecx
lea ecx, [eax + 4]
call fcn.00407060
mov eax, dword [esi]
mov edx, dword [ebx + 0x16c]
mov dword [eax + 8], edx
mov ecx, dword [ebx + 0x170]
mov dword [eax + 0xc], ecx
mov eax, dword [esi]
mov edx, dword [ebx + 0x184]
mov dword [eax + 0x10], edx
mov eax, dword [esi]
mov ecx, dword [ebx + 0x188]
mov dword [eax + 0x14], ecx
mov eax, dword [esi]
mov edx, dword [ebx + 0x18c]
mov dword [eax + 0x18], edx
mov eax, dword [esi]
mov ecx, dword [ebx + 0x1f4]
mov dword [eax + 0x20], ecx
fld qword [ebx + 0x1f8]
mov eax, dword [esi]
fstp qword [eax + 0x28]
mov ecx, dword [esi]
lea edx, [ebx + 0x5c]
push edx
lea ecx, [ecx + 0x30]
call fcn.00407060
mov ecx, dword [ebx + 0x174]
mov eax, dword [esi]
mov dword [eax + 0x34], ecx
mov edx, dword [ebx + 0x178]
mov dword [eax + 0x38], edx
mov ecx, dword [ebx + 0x194]
mov eax, dword [esi]
mov dword [eax + 0x3c], ecx
mov edx, dword [ebx + 0x198]
mov eax, dword [esi]
mov dword [eax + 0x40], edx
mov eax, dword [esi]
mov ecx, dword [ebx + 0x19c]
mov dword [eax + 0x44], ecx
mov eax, dword [esi]
mov edx, dword [ebx + 0x204]
mov dword [eax + 0x48], edx
fld qword [ebx + 0x208]
mov eax, dword [esi]
fstp qword [eax + 0x50]
lea eax, [ebx + 0x1a8]
xor edi, edi
mov dword [ebp - 0x14], eax
sub ebx, 0xffffff80
mov ecx, dword [ebx]
cmp dword [ecx - 0xc], 0
mov dword [ebp - 0x18], ecx
jl 0x441aaf
mov dword [ebp + 8], ecx
add ecx, 0xfffffff4
push ecx
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
jmp 0x441ad4
mov edx, dword [0x610024]
mov dword [ebp + 8], edx
test ecx, ecx
jne 0x441ac0
xor eax, eax
jmp 0x441aca
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, dword [ebp - 0x18]
push ecx
push eax
lea ecx, [ebp + 8]
call fcn.004057d0
mov ecx, dword [ebp + 8]
xor eax, eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
cmp dword [ecx - 8], eax
je 0x441b52
mov eax, dword [ebp - 0x10]
mov edx, dword [eax + 0x2204]
cmp edx, dword [eax + 0x2208]
je 0x441b52
mov eax, dword [0x610024]
push ecx
mov ecx, esp
mov dword [ebp - 0x18], esp
mov dword [ebp - 0x18], ecx
mov dword [ecx], eax
lea edx, [ebp + 8]
push edx
mov byte [ebp - 4], 1
call fcn.00407060
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x2208]
mov ecx, dword [ecx + 0x2204]
push eax
push ecx
lea eax, [ebp - 0x1c]
push eax
mov byte [ebp - 4], 0
call fcn.00440190
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x2208]
mov ecx, dword [ebp - 0x1c]
add esp, 0x10
cmp ecx, eax
je 0x441b52
mov edx, dword [ecx + 8]
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x20], eax
mov eax, dword [esi]
push ebx
lea ecx, [eax + edi + 0x60]
call fcn.00407060
mov eax, dword [esi]
lea ecx, [ebx + 4]
push ecx
lea ecx, [eax + edi + 0x64]
call fcn.00407060
mov eax, dword [esi]
mov edx, dword [ebx + 0xc]
mov dword [eax + edi + 0x68], edx
mov ecx, dword [ebx + 0x10]
mov dword [eax + edi + 0x6c], ecx
mov eax, dword [esi]
mov edx, dword [ebx + 0x14]
mov dword [eax + edi + 0x70], edx
mov eax, dword [esi]
mov ecx, dword [ebx + 0x18]
mov dword [eax + edi + 0x74], ecx
mov eax, dword [esi]
mov edx, dword [ebx + 0x1c]
mov dword [eax + edi + 0x78], edx
mov eax, dword [esi]
mov ecx, dword [ebx + 0x20]
mov dword [eax + edi + 0x7c], ecx
mov edx, dword [ebx + 0x24]
mov dword [eax + edi + 0x80], edx
mov eax, dword [esi]
mov ecx, dword [ebx + 0x28]
mov edx, dword [ebp - 0x24]
mov dword [eax + edi + 0x84], ecx
mov eax, dword [esi]
mov ecx, dword [ebp - 0x20]
mov dword [eax + edi + 0x88], edx
mov dword [eax + edi + 0x8c], ecx
mov eax, dword [ebp - 0x14]
mov ecx, dword [esi]
mov edx, dword [eax - 4]
mov dword [ecx + edi + 0x90], edx
mov ecx, dword [esi]
mov edx, dword [eax]
mov dword [ecx + edi + 0x94], edx
mov ecx, dword [esi]
mov edx, dword [eax + 4]
mov dword [ecx + edi + 0x98], edx
mov ecx, dword [esi]
mov edx, dword [eax + 0x6c]
mov dword [ecx + edi + 0xa0], edx
fld qword [eax + 0x70]
mov ecx, dword [esi]
fstp qword [ecx + edi + 0xa8]
mov ecx, dword [ebp + 8]
lea edx, [ecx - 0xc]
mov dword [ebp - 4], 0xffffffff
cmp edx, dword [0x610020]
je 0x441c40
lea eax, [ecx - 0xc]
push eax
mov dword [ebp + 8], eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x441c3d
mov eax, dword [ebp + 8]
push eax
call fcn.00551d56
add esp, 4
mov eax, dword [ebp - 0x14]
add eax, 0x10
add edi, 0x50
add ebx, 0x30
mov dword [ebp - 0x14], eax
cmp edi, 0x190
jl 0x441a95
mov edi, dword [ebp - 0x10]
mov eax, dword [esi]
lea ecx, [edi + 0x64]
push ecx
lea ecx, [eax + 0x1f0]
call fcn.00407060
mov eax, dword [esi]
mov edx, dword [edi + 0x68]
mov ecx, 0x188
sub ecx, edi
mov dword [eax + 0x1f4], edx
lea ebx, [edi + 0x70]
mov dword [ebp - 0x1c], ecx
mov dword [ebp + 8], 3
jmp 0x441c93
mov ecx, dword [ebp - 0x1c]
lea edi, [ecx + ebx]
add edi, dword [esi]
mov ecx, dword [ebx]
mov eax, dword [edi]
cmp eax, ecx
je 0x441d08
cmp dword [eax - 0xc], 0
lea edx, [eax - 0xc]
mov dword [ebp - 0x18], edx
jge 0x441cba
lea edx, [eax - 0xc]
cmp edx, dword [0x610020]
jne 0x441cc0
mov edx, dword [ebp - 0x18]
cmp dword [ecx - 0xc], 0
jge 0x441cce
mov eax, dword [ecx - 8]
push ecx
push eax
mov ecx, edi
call fcn.004057d0
jmp 0x441d08
add eax, 0xfffffff4
cmp eax, dword [0x610020]
je 0x441cfa
push edx
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x441cf2
mov eax, dword [edi]
sub eax, 0xc
push eax
call fcn.00551d56
add esp, 4
mov ecx, dword [0x610024]
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi], eax
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
add ebx, 4
dec dword [ebp + 8]
jne 0x441c90
mov edi, dword [esi]
mov eax, dword [edi + 0x208]
mov ecx, dword [edi + 0x204]
cmp ecx, eax
je 0x441d51
mov edx, dword [ebp + 8]
push edx
push ecx
push eax
push eax
call fcn.0043f870
mov ecx, dword [ebp + 8]
push ecx
mov ebx, eax
mov eax, dword [edi + 0x208]
lea edx, [edi + 0x210]
push edx
push eax
push ebx
call fcn.00440420
add esp, 0x20
mov dword [edi + 0x208], ebx
mov eax, dword [ebp - 0x10]
mov edi, dword [eax + 0x26c]
mov dword [ebp + 8], edi
cmp edi, dword [eax + 0x270]
je 0x441fee
lea esp, [esp]
mov eax, dword [0x610024]
xor edx, edx
mov ecx, eax
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], edx
mov eax, dword [edi + 4]
mov dword [ebp - 0x44], eax
mov eax, dword [edi + 8]
mov dword [ebp - 0x40], eax
mov eax, dword [edi + 0xc]
mov dword [ebp - 4], 2
cmp ecx, eax
je 0x441df9
cmp dword [ecx - 0xc], edx
lea ebx, [ecx - 0xc]
jge 0x441db2
add ecx, 0xfffffff4
cmp ecx, dword [0x610020]
jne 0x441db8
cmp dword [eax - 0xc], 0
jge 0x441dc7
mov ecx, dword [eax - 8]
push eax
push ecx
lea ecx, [ebp - 0x3c]
call fcn.004057d0
jmp 0x441df9
mov edx, dword [ebp - 0x3c]
add edx, 0xfffffff4
cmp edx, dword [0x610020]
je 0x441de9
push ebx
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x441de9
push ebx
call fcn.00551d56
add esp, 4
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x3c], eax
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov eax, dword [edi + 0x10]
mov ecx, dword [ebp - 0x38]
cmp ecx, eax
je 0x441e5e
cmp dword [ecx - 0xc], 0
lea ebx, [ecx - 0xc]
jge 0x441e17
add ecx, 0xfffffff4
cmp ecx, dword [0x610020]
jne 0x441e1d
cmp dword [eax - 0xc], 0
jge 0x441e2c
push eax
mov eax, dword [eax - 8]
push eax
lea ecx, [ebp - 0x38]
call fcn.004057d0
jmp 0x441e5e
mov ecx, dword [ebp - 0x38]
add ecx, 0xfffffff4
cmp ecx, dword [0x610020]
je 0x441e4e
push ebx
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x441e4e
push ebx
call fcn.00551d56
add esp, 4
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x38], eax
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov eax, dword [edi + 0x18]
mov ecx, dword [edi + 0x1c]
mov edx, dword [edi + 0x14]
mov ebx, dword [esi]
mov dword [ebp - 0x30], eax
mov eax, dword [ebx + 0x208]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x34], edx
mov edx, dword [edi + 0x20]
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x28], edx
cmp ecx, eax
jae 0x441f10
mov edx, dword [ebx + 0x204]
cmp edx, ecx
ja 0x441f10
mov edi, ecx
mov ecx, dword [ebx + 0x20c]
sub edi, edx
cmp eax, ecx
jne 0x441ee8
sub eax, edx
sar eax, 5
cmp eax, 0x7fffffe
ja 0x442002
sub ecx, edx
inc eax
sar ecx, 5
mov dword [ebp - 0x1c], eax
cmp eax, ecx
jbe 0x441ee8
mov eax, ecx
shr eax, 1
mov edx, 0x7ffffff
sub edx, eax
cmp edx, ecx
jae 0x441ed1
xor ecx, ecx
jmp 0x441ed3
add ecx, eax
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
jae 0x441edc
mov ecx, eax
push ecx
lea ecx, [ebx + 0x204]
call fcn.004409b0
mov ecx, dword [ebx + 0x208]
and edi, 0xffffffe0
add edi, dword [ebx + 0x204]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], ecx
mov byte [ebp - 4], 3
test ecx, ecx
je 0x441f0b
push edi
call fcn.0043fa50
mov edi, dword [ebp + 8]
jmp 0x441f81
mov ecx, dword [ebx + 0x20c]
cmp eax, ecx
jne 0x441f64
mov edx, dword [ebx + 0x204]
sub eax, edx
sar eax, 5
cmp eax, 0x7fffffe
ja 0x442002
sub ecx, edx
inc eax
sar ecx, 5
cmp eax, ecx
jbe 0x441f64
mov edx, ecx
shr edx, 1
mov edi, 0x7ffffff
sub edi, edx
cmp edi, ecx
jae 0x441f4d
xor ecx, ecx
jmp 0x441f4f
add ecx, edx
cmp ecx, eax
jae 0x441f55
mov ecx, eax
push ecx
lea ecx, [ebx + 0x204]
call fcn.004409b0
mov edi, dword [ebp + 8]
mov ecx, dword [ebx + 0x208]
mov dword [ebp + 8], ecx
mov dword [ebp - 0x1c], ecx
mov byte [ebp - 4], 4
test ecx, ecx
je 0x441f81
lea eax, [ebp - 0x44]
push eax
call fcn.0043fa50
add dword [ebx + 0x208], 0x20
mov ebx, dword [ebp - 0x38]
lea ecx, [ebx - 0xc]
mov dword [ebp - 4], 0xffffffff
cmp ecx, dword [0x610020]
je 0x441fb4
add ebx, 0xfffffff4
push ebx
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x441fb4
push ebx
call fcn.00551d56
add esp, 4
mov ebx, dword [ebp - 0x3c]
lea edx, [ebx - 0xc]
cmp edx, dword [0x610020]
je 0x441fd9
add ebx, 0xfffffff4
push ebx
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x441fd9
push ebx
call fcn.00551d56
add esp, 4
mov eax, dword [ebp - 0x10]
add edi, 0x24
mov dword [ebp + 8], edi
cmp edi, dword [eax + 0x270]
jne 0x441d70
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push str.vector_T__too_long
call fcn.0054e131
int3