Function at 0x67bee8
Capabilities:
Access peb ldr_data
Get number of processors

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xe
push 0
push 0
dec ecx
jne 0x67bef0
push ecx
push ebx
push esi
push edi
mov dword [ebp - 8], eax
xor eax, eax
push ebp
push 0x45ffc3
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
mov byte [eax + 0x170], 0
mov eax, dword [ebp - 8]
cmp dword [eax + 0x30], 0
je 0x67c923
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 8]
call fcn.00675a90
mov eax, dword [ebp - 0x2c]
lea edx, [ebp - 0x28]
call fcn.00624ad0
cmp dword [ebp - 0x28], 0
jne 0x67bf54
mov eax, dword [ebp - 8]
cmp dword [eax + 0x100], 0
je 0x67c923
mov eax, dword [ebp - 8]
mov byte [eax + 0xcc], 1
mov byte [ebp - 0xd], 0
mov eax, dword [ebp - 8]
xor edx, edx
mov dword [eax + 0xfc], edx
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xe8]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 8]
mov al, byte [eax + 0x2c]
mov byte [ebp - 0x15], al
mov eax, dword [ebp - 8]
mov al, byte [eax + 0x3d]
mov byte [ebp - 0x16], al
mov eax, dword [ebp - 8]
mov byte [eax + 0x3d], 1
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xe4]
mov edx, dword [ebp - 8]
mov dword [edx + 0xe8], eax
mov eax, dword [ebp - 8]
mov byte [eax + 0x2c], 7
mov eax, dword [ebp - 8]
cmp byte [eax + 0x1a5], 0
je 0x67bfc6
mov dl, 1
mov eax, dword [0x40d40c]
call fcn.0061f7b8
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 8]
cmp byte [eax + 0x258], 0
jne 0x67c000
mov eax, dword [ebp - 8]
cmp byte [eax + 0x178], 0
jne 0x67c000
mov eax, dword [ebp - 8]
cmp byte [eax + 0x179], 0
jne 0x67c000
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x30]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x67c000
push ebp
call fcn.0067b6b0
pop ecx
mov eax, dword [ebp - 8]
mov ebx, dword [eax + 0x1b0]
cmp byte [ebx + 0x11], 0
je 0x67c060
cmp byte [ebx + 0x10], 0
je 0x67c060
mov eax, dword [ebp - 8]
cmp byte [eax + 0x1a6], 0
je 0x67c028
mov esi, 0x19
jmp 0x67c02a
xor esi, esi
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x30]
mov edx, dword [eax]
call dword [edx + 0x14]
add esi, 0x3a
imul esi
add eax, dword [ebx + 0xc]
add eax, 0x16
mov edx, dword [ebp - 8]
mov edx, dword [edx + 0x154]
movzx edx, word [edx + 0x18]
add eax, edx
add eax, 0x800
mov edx, dword [ebp - 8]
mov edx, dword [edx + 0x1b0]
mov dword [edx + 0xc], eax
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x1b0]
mov al, byte [ecx + 0x11]
cmp al, 1
jne 0x67c0a1
mov eax, dword [ebp - 8]
call fcn.0067cb94
push edx
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x1b0]
mov eax, dword [eax + 0xc]
cdq
sub dword [esp], eax
sbb dword [esp + 4], edx
pop eax
pop edx
mov ecx, dword [ebp - 8]
mov dword [ecx + 0x218], eax
mov dword [ecx + 0x21c], edx
jmp 0x67c0b8
cmp al, 2
jne 0x67c0b8
mov eax, dword [ecx + 8]
cdq
mov ecx, dword [ebp - 8]
mov dword [ecx + 0x218], eax
mov dword [ecx + 0x21c], edx
xor ecx, ecx
push ebp
push 0x45ff89
push dword fs:[ecx]
mov dword fs:[ecx], esp
mov eax, dword [ebp - 8]
cmp byte [eax + 0xdc], 0
je 0x67c0de
mov eax, dword [ebp - 8]
call fcn.006774a8
test eax, eax
jg 0x67c104
lea edx, [ebp - 0x30]
mov eax, dword [ebp - 8]
call fcn.00675a90
mov eax, dword [ebp - 0x30]
call fcn.0066f3a8
test al, al
je 0x67c160
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x1b0]
cmp byte [eax + 0x11], 0
jne 0x67c160
push ebp
call fcn.0067bd94
pop ecx
mov eax, dword [ebp - 8]
mov byte [eax + 0x220], 1
mov eax, dword [ebp - 8]
cmp byte [eax + 0xdc], 0
jne 0x67c147
lea edx, [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.0067e5b0
mov eax, dword [ebp - 0x38]
lea edx, [ebp - 0x34]
call fcn.0066f848
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 8]
add eax, 0x250
call fcn.00620538
mov eax, dword [ebp - 8]
call fcn.0067c994
mov eax, dword [ebp - 8]
call fcn.00676350
push ebp
call fcn.0067b074
pop ecx
jmp 0x67c1a0
push ebp
call fcn.0067bd94
pop ecx
mov eax, dword [ebp - 8]
cmp byte [eax + 0xdc], 0
jne 0x67c18e
lea edx, [ebp - 0x3c]
mov eax, dword [ebp - 8]
call fcn.00675a90
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
add eax, 0x250
call fcn.00620538
mov eax, dword [ebp - 8]
mov byte [eax + 0x220], 0
mov eax, dword [ebp - 8]
call fcn.0067c994
mov eax, dword [ebp - 8]
cmp byte [eax + 0x258], 0
jne 0x67c232
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x30]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x67c232
mov byte [ebp - 0x1d], 0
mov eax, dword [ebp - 8]
cmp word [eax + 0x1d2], 0
je 0x67c20b
mov eax, dword [ebp - 8]
push dword [eax + 0x194]
push dword [eax + 0x190]
mov eax, dword [ebp - 8]
add eax, 0x248
push eax
lea eax, [ebp - 0x1d]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x30]
mov edx, dword [eax]
call dword [edx + 0x14]
mov ecx, eax
mov ebx, dword [ebp - 8]
mov edx, dword [ebp - 8]
mov eax, dword [ebx + 0x1d4]
call dword [ebx + 0x1d0]
cmp byte [ebp - 0x1d], 0
je 0x67c232
lea edx, [ebp - 0x40]
mov eax, 0xbb
call fcn.00624c58
mov ecx, dword [ebp - 0x40]
mov dl, 1
mov eax, dword [0x45352c]
call fcn.00626980
call fcn.0061ff40
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x1b0]
cmp byte [eax + 0x11], 0
je 0x67c25a
mov eax, dword [ebp - 8]
fild qword [eax + 0x190]
fmul dword [0x45ffd4]
mov eax, dword [ebp - 8]
fistp qword [eax + 0x190]
wait
mov eax, dword [ebp - 8]
cmp byte [eax + 0x258], 0
jne 0x67c336
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x30]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x67c336
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x30]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x67c336
inc esi
xor ebx, ebx
mov dl, 1
mov eax, dword [0x4505c4]
call fcn.0066d1d8
mov edx, dword [ebp - 8]
mov dword [edx + 0x24c], eax
xor eax, eax
push ebp
push 0x45f976
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 0x44]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x30]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 8]
call fcn.0067d3bc
test al, al
je 0x67c2e3
push ebp
mov eax, ebx
call fcn.0067ac6c
pop ecx
jmp 0x67c2fc
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x24c]
call fcn.0061f7e8
mov eax, dword [ebp - 8]
xor edx, edx
mov dword [eax + 0x24c], edx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x67c32e
inc ebx
dec esi
jne 0x67c296
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x22c]
call fcn.0062caa8
mov edx, dword [ebp - 8]
mov ebx, dword [edx + 0x248]
mov dword [ebx + 0x14], eax
mov eax, dword [ebp - 8]
mov ax, word [eax + 0xfc]
mov word [ebx + 0xa], ax
xor eax, eax
mov dword [ebp - 0x24], eax
mov edi, dword [ebx + 0x14]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x244]
mov esi, dword [eax + 0xc]
dec esi
test esi, esi
jl 0x67c439
inc esi
xor ebx, ebx
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x244]
mov edx, ebx
call fcn.0066ca24
mov edx, dword [0x4505c4]
call fcn.0061f978
mov edx, dword [ebp - 8]
mov dword [edx + 0x24c], eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x1b0]
cmp byte [eax + 0x11], 0
je 0x67c41a
mov eax, dword [ebp - 8]
call fcn.0067cc1c
push edx
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x24c]
call fcn.0066dcb0
cdq
cmp edx, dword [esp + 4]
jne 0x67c3d9
cmp eax, dword [esp]
pop edx
pop eax
jbe 0x67c41a
jmp 0x67c3dd
pop edx
pop eax
jle 0x67c41a
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x22c]
call fcn.0062caa8
sub eax, edi
add dword [ebp - 0x24], eax
xor edi, edi
mov eax, dword [ebp - 8]
call fcn.0067cd94
test ebx, ebx
jne 0x67c41a
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x248]
xor edx, edx
mov dword [eax + 0x14], edx
mov edx, dword [ebp - 8]
mov dx, word [edx + 0xfc]
mov word [eax + 0xa], dx
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x22c]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x24c]
call fcn.0066d6e0
inc ebx
dec esi
jne 0x67c37e
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x22c]
call fcn.0062caa8
sub eax, edi
add dword [ebp - 0x24], eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x248]
mov edx, dword [ebp - 0x24]
mov dword [eax + 0x10], edx
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x1b0]
cmp byte [eax + 0x11], 0
je 0x67c49e
mov eax, dword [ebp - 8]
call fcn.0067cc1c
push edx
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x248]
call fcn.0066e1d8
cdq
cmp edx, dword [esp + 4]
jne 0x67c492
cmp eax, dword [esp]
pop edx
pop eax
jbe 0x67c49e
jmp 0x67c496
pop edx
pop eax
jle 0x67c49e
mov eax, dword [ebp - 8]
call fcn.0067cd94
mov edx, dword [ebp - 8]
mov dx, word [edx + 0xfc]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x248]
mov word [eax + 8], dx
mov edx, dword [ebp - 8]
mov edx, dword [edx + 0x22c]
call fcn.0066dfd0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x1b0]
cmp byte [eax + 0x11], 1
jne 0x67c4da
mov eax, dword [ebp - 8]
call fcn.0067cc58
mov byte [ebp - 0xd], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x45ff93
push ebp
call fcn.0067be30
pop ecx
mov eax, dword [ebp - 8]
cmp byte [eax + 0xdc], 0
jne 0x67c517
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x22c]
call fcn.0061f7e8
mov eax, dword [ebp - 8]
xor edx, edx
mov dword [eax + 0x22c], edx
cmp byte [ebp - 0xd], 0
je 0x67c873
mov eax, dword [ebp - 8]
cmp byte [eax + 0xdc], 0
jne 0x67c544
mov eax, dword [ebp - 8]
cmp byte [eax + 0x221], 0
jne 0x67c544
lea edx, [ebp - 0x1c]
mov eax, dword [ebp - 8]
call fcn.00675a90
mov eax, dword [ebp - 8]
cmp byte [eax + 0x221], 0
jne 0x67c570
mov eax, dword [ebp - 8]
cmp byte [eax + 0xdc], 0
jne 0x67c570
mov eax, dword [ebp - 8]
cmp byte [eax + 0x220], 0
je 0x67c570
mov eax, dword [ebp - 8]
call fcn.006766cc
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x1b0]
cmp byte [eax + 0x11], 2
jne 0x67c649
mov eax, dword [ebp - 8]
mov ebx, dword [eax + 0xfc]
test ebx, ebx
jle 0x67c5d9
lea eax, [ebp - 0x50]
push eax
inc ebx
mov dword [ebp - 0x58], ebx
mov byte [ebp - 0x54], 0
lea edx, [ebp - 0x58]
xor ecx, ecx
mov eax, 0x45ffe0
call fcn.00625c14
mov ecx, dword [ebp - 0x50]
lea eax, [ebp - 0x4c]
mov edx, 0x45fff0
call fcn.006207b0
mov edx, dword [ebp - 0x4c]
lea ecx, [ebp - 0x48]
mov eax, dword [ebp - 0x1c]
call fcn.00625064
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x30]
jmp 0x67c66c
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x30]
lea eax, [ebp - 0x64]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xfc]
inc eax
mov dword [ebp - 0x58], eax
mov byte [ebp - 0x54], 0
lea edx, [ebp - 0x58]
xor ecx, ecx
mov eax, 0x45ffe0
call fcn.00625c14
mov ecx, dword [ebp - 0x64]
lea eax, [ebp - 0x60]
mov edx, 0x45fff0
call fcn.006207b0
mov edx, dword [ebp - 0x60]
lea ecx, [ebp - 0x5c]
mov eax, dword [ebp - 0x1c]
call fcn.00625064
mov edx, dword [ebp - 0x5c]
lea eax, [ebp - 0x1c]
call fcn.0062057c
lea edx, [ebp - 0x68]
mov eax, dword [ebp - 8]
call fcn.00675a90
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x1c]
call fcn.00624fc0
jmp 0x67c66c
mov eax, dword [ebp - 8]
cmp byte [eax + 0xdc], 0
jne 0x67c66c
mov eax, dword [ebp - 8]
cmp byte [eax + 0x221], 0
jne 0x67c66c
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x30]
mov eax, dword [ebp - 8]
cmp byte [eax + 0x220], 0
je 0x67c682
mov eax, dword [ebp - 8]
call fcn.0067e03c
jmp 0x67c699
mov eax, dword [ebp - 8]
cmp byte [eax + 0xdc], 0
je 0x67c699
mov eax, dword [ebp - 8]
xor edx, edx
mov dword [eax + 0x22c], edx
mov eax, dword [ebp - 8]
cmp byte [eax + 0x1a5], 0
je 0x67c6ac
push ebp
call fcn.0067ad1c
pop ecx
mov eax, dword [ebp - 8]
cmp byte [eax + 0x221], 0
jne 0x67c6f3
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x248]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x154]
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x244]
mov edx, dword [ebp - 8]
mov dword [edx + 0xe4], eax
mov edx, dword [ebp - 8]
mov dword [edx + 0xe8], eax
mov eax, dword [ebp - 8]
mov byte [eax + 0x2c], 7
jmp 0x67c718
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x244]
call fcn.0061f7e8
mov eax, dword [ebp - 8]
xor edx, edx
mov dword [eax + 0x244], edx
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x14]
mov dword [eax + 0xe8], edx
mov eax, dword [ebp - 8]
cmp byte [eax + 0xdc], 0
jne 0x67c74d
mov eax, dword [ebp - 8]
cmp byte [eax + 0x221], 0
jne 0x67c74d
lea edx, [ebp - 0x6c]
mov eax, dword [ebp - 8]
call fcn.00675a90
mov eax, dword [ebp - 0x6c]
call fcn.0066f2d4
mov eax, dword [ebp - 8]
fstp qword [eax + 0xf0]
wait
cmp byte [ebp - 0x15], 0
je 0x67c76c
mov eax, dword [ebp - 8]
cmp byte [eax + 0x221], 0
jne 0x67c76c
mov dl, byte [ebp - 0x15]
mov eax, dword [ebp - 8]
call fcn.00677410
jmp 0x67c795
mov eax, dword [ebp - 8]
cmp byte [eax + 0x221], 0
jne 0x67c795
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x240]
mov edx, dword [ebp - 8]
mov dword [edx + 0xe8], eax
mov eax, dword [ebp - 8]
xor edx, edx
mov dword [eax + 0x240], edx
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0xfc]
inc edx
mov eax, dword [ebp - 8]
call fcn.00676260
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x1b0]
cmp byte [eax + 0x11], 0
je 0x67c7da
mov eax, dword [ebp - 8]
cmp word [eax + 0xb2], 0
je 0x67c7da
mov ebx, dword [ebp - 8]
mov ecx, 0x64
mov edx, dword [ebp - 8]
mov eax, dword [ebx + 0xb4]
call dword [ebx + pe_nt_image_headers32]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x1b0]
mov dl, byte [eax + 0x11]
test dl, dl
je 0x67c89a
cmp byte [eax + 0x10], 0
je 0x67c89a
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x154]
cmp word [eax + 8], 0
jbe 0x67c89a
cmp dl, 1
jne 0x67c82e
mov edx, 1
mov eax, dword [ebp - 8]
call fcn.006763f4
mov eax, dword [0x464af4]
mov eax, dword [eax]
mov dx, 0xfff5
call fcn.0064a2c4
lea edx, [ebp - 0x74]
mov eax, dword [ebp - 8]
call fcn.00675a90
mov eax, dword [ebp - 0x74]
lea ecx, [ebp - 0x70]
mov edx, 0x45fffc
call fcn.00625064
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 8]
call fcn.0067e194
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x1b0]
cmp byte [eax + 0x11], 1
jne 0x67c89a
mov eax, dword [0x464af4]
mov eax, dword [eax]
xor edx, edx
call fcn.0064a2c4
jmp 0x67c89a
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x244]
call fcn.0061f7e8
mov eax, dword [ebp - 8]
xor edx, edx
mov dword [eax + 0x244], edx
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x250]
call fcn.00624fa8
mov eax, dword [ebp - 8]
mov dl, byte [ebp - 0x15]
mov byte [eax + 0x2c], dl
mov eax, dword [ebp - 8]
mov dl, byte [ebp - 0x16]
mov byte [eax + 0x3d], dl
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x240]
call fcn.0061f7e8
mov eax, dword [ebp - 8]
xor edx, edx
mov dword [eax + 0x240], edx
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x248]
call fcn.0061f7e8
mov eax, dword [ebp - 8]
xor edx, edx
mov dword [eax + 0x248], edx
mov eax, dword [ebp - 8]
call fcn.006763d4
mov eax, dword [ebp - 8]
cmp byte [eax + 0xdc], 0
je 0x67c903
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x100]
mov eax, dword [ebp - 8]
call fcn.00676c28
mov eax, dword [ebp - 8]
mov byte [eax + 0xcc], 0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x30]
mov edx, dword [eax]
call dword [edx + 0x40]
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x45ffca
lea eax, [ebp - 0x74]
mov edx, 7
call fcn.00620508
lea eax, [ebp - 0x50]
mov edx, 0xb
call fcn.00620508
lea eax, [ebp - 0x1c]
call fcn.006204e4
ret