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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x24
push ebx
push esi
xor ebx, ebx
push ebx
push ebx
push ebx
push dword [ebp + 8]
call sym.KERNEL32.dll_GetFullPathNameW
mov esi, eax
cmp esi, ebx
je 0x7c845878
push edi
add esi, 0xa
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov edi, dword [sym.imp.ntdll.dll_RtlAllocateHeap]
lea ecx, [esi + esi]
push ecx
push dword [0x7c8856d4]
push dword [eax + 0x18]
call edi
cmp eax, ebx
mov dword [ebp - 8], eax
je 0x7c84587f
lea ecx, [ebp - 4]
push ecx
push eax
push esi
push dword [ebp + 8]
call sym.KERNEL32.dll_GetFullPathNameW
test eax, eax
je 0x7c84588d
push dword [ebp - 8]
mov esi, dword [sym.imp.ntdll.dll_RtlInitUnicodeString]
lea eax, [ebp - 0x1c]
push eax
call esi
movzx ecx, word [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
shr ecx, 1
cmp word [eax + ecx*2 - 2], 0x5c
je 0x7c82d710
add word [ebp - 0x1c], 2
movzx ecx, word [ebp - 0x1c]
shr ecx, 1
mov word [eax + ecx*2 - 2], 0x5c
movzx eax, word [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
shr eax, 1
mov word [ecx + eax*2], bx
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
push 0x4000
push dword [0x7c8856d4]
push dword [eax + 0x18]
call edi
mov edi, eax
cmp edi, ebx
mov dword [ebp - 0x14], edi
je 0x7c8458a5
mov dword [ebp - 4], ebx
mov dword [ebp - 0xc], ebx
lea eax, [ebp + 8]
push eax
push 0x2000
push edi
push dword [ebp - 0x18]
call fcn.7c81f7f1
test eax, eax
jne 0x7c82d7b4
cmp dword [ebp + 8], ebx
je 0x7c82d877
cmp word [edi], bx
jne 0x7c8458c0
cmp dword [ebp + 8], ebx
je 0x7c82d88a
cmp word [ebp - 0x1c], 2
jbe 0x7c82d7b4
movzx eax, word [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
shr eax, 1
dec eax
dec eax
je 0x7c82d78b
cmp word [ecx + eax*2], 0x5c
je 0x7c82d78b
dec eax
jne 0x7c82d781
cmp eax, ebx
je 0x7c82d7b4
cmp dword [ebp + 8], ebx
je 0x7c82d89a
lea eax, [ecx + eax*2 + 2]
mov dword [ebp - 4], eax
mov cx, word [eax]
mov word [ebp - 0xc], cx
mov word [eax], bx
push dword [ebp - 8]
lea eax, [ebp - 0x1c]
push eax
call esi
jmp 0x7c82d73c
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
push edi
push ebx
push dword [eax + 0x18]
mov ebx, dword [sym.imp.ntdll.dll_RtlFreeHeap]
call ebx
xor ecx, ecx
cmp dword [ebp + 8], ecx
je 0x7c845a29
movzx eax, word [ebp - 0x1c]
mov esi, dword [ebp + 0x10]
lea edx, [eax + 2]
add esi, esi
cmp esi, edx
jb 0x7c845a49
mov esi, dword [ebp - 0x18]
mov edi, dword [ebp + 0xc]
mov ecx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0xc]
shr eax, 1
and word [ecx + eax*2], 0
mov eax, dword fs:[0x18]
push dword [ebp - 8]
mov eax, dword [eax + 0x30]
push 0
push dword [eax + 0x18]
call ebx
xor eax, eax
inc eax
pop edi
pop esi
pop ebx
leave
ret 0xc
call fcn.7c8307de
cmp eax, 5
jne 0x7c82d75b
jmp 0x7c8458b4
mov eax, dword [ebp - 4]
cmp eax, ebx
je 0x7c82d76d
jmp 0x7c845a14
mov word [ecx + eax*2 + 2], bx
jmp 0x7c82d7a9
xor dword [ebp + 0x60], ebx
push eax
ja 0x7c845924
mov ch, 0xe5
faddp st(7)
call 0x684b14aa
invalid
cwde
add eax, 0x2bc3a6af
je 0x7c845976
or eax, 0x36b0d4d
add ebp, dword [eax]
sar edx, cl
loopne 0x7c845903
in al, 2
sbb al, 0x2c
sub byte [esi], bh
adc cl, bl
imul edi, ecx, 0xffffffe5
mov bh, 0xd3
iretd
invalid
popal
nop
js 0x7c845a4f
dec ebx
jnp 0x7c845a3b
wait
jl 0x7c845a24
xlatb
xchg esi, eax
cmp byte [ebp + 0x52], bh
push ebp
and cl, dh
add eax, 0x3f8d8233
lcall 0xb8f1, 0xcd564382
xchg ebp, eax
sti
jmp dword [ecx]
xor eax, dword [edx - 0x7d65c073]
inc ebx
push esi
int 0xf1
mov eax, 0x21fffb95
xchg esp, eax
mov al, 0xbb
cli
stosb byte es:[edi], al
add dl, ah
invalid
jmp 0x7c845ac6
push edx
sbb byte [edi - 6], ah
or byte [esi + 0xa], 0x27
in eax, 0x90
inc edi
mov eax, dword [0x45ec0c81]
aaa
sti
retf
xor esp, 0x64
inc edx
wait
movsd dword es:[edi], dword [esi]
salc
cmp al, 0xa
nop
js 0x7c845b39
mov dword [edx - 0x59c8f17f], ecx
push esi
mov al, byte [0x6948e836]
invalid
pop ss