Function at 0x407476
Capabilities:
Get number of processors
Resolve function by parsing pe exports

Disassembly:
push ebx
xor ebx, 0x32b6
pop ebx
push eax
and eax, 0x34b5
pop eax
push eax
push edi
add esp, 4
jmp 0x40739e
pop eax
push edx
add edx, 0x3a60
pop edx
push ebx
push ebx
add esp, 4
xor ebx, 0xb90d
pop ebx
lea eax, [ebp - 0x1770]
mov dword [ebp - 0xccc], eax
mov ecx, dword [ebp - 0x518]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xcc8], edx
xor eax, eax
mov word [ebp - 0x220], ax
xor ecx, ecx
mov word [ebp - 0x3c], cx
push edx
push edx
add esp, 4
xor edx, 0xb2e6
and edx, 0x3577
or edx, 0xd7ed
add edx, 0xe793
pop edx
push esi
xor esi, 0xc7d7
or esi, 0xa368
sub esi, 0x16d72
pop esi
mov edx, dword [ebp - 0xcc8]
mov ax, word [edx]
mov word [ebp - 0x1042], ax
mov ecx, dword [ebp - 0xcc8]
add ecx, 2
mov dword [ebp - 0xcc8], ecx
mov dx, word [ebp - 0x1042]
mov word [ebp - 0x220], dx
mov eax, dword [ebp - 0xccc]
mov cx, word [eax]
mov word [ebp - 0x1044], cx
mov edx, dword [ebp - 0xccc]
add edx, 2
mov dword [ebp - 0xccc], edx
mov ax, word [ebp - 0x1044]
mov word [ebp - 0x3c], ax
push ebx
call 0x407476
add byte [esi + 0x47], cl
inc esp
inc edi
cmp eax, dword [ebp + 0x48]
dec ecx
inc esp
add esp, 4
add ebx, 0xaaae
pop ebx
push ecx
push eax
add esp, 4
sub ecx, 0x6da2
add ecx, 0x7ef6
and ecx, 0x9fd9
pop ecx
movzx ecx, word [ebp - 0x3c]
test ecx, ecx
jne 0x4074b5
movzx edx, word [ebp - 0x220]
movzx eax, word [ebp - 0x3c]
sub edx, eax
mov dword [ebp - 0x1668], edx
jmp 0x40750f
movzx ecx, word [ebp - 0x220]
movzx edx, word [ebp - 0x3c]
cmp ecx, edx
je 0x4073dd
movzx eax, word [ebp - 0x220]
xor eax, 0x20
lock and byte [edi], cl
mov bh, 0x4d
les edi, [ebx]
ror dword [edi], 0x84
invalid
invalid
invalid
invalid
movzx edx, word [ebp - 0x220]
movzx eax, word [ebp - 0x3c]
cmp edx, eax
jge 0x4074f9
mov dword [ebp - 0x1624], 0xffffffff
jmp 0x407503
mov dword [ebp - 0x1624], 1
mov ecx, dword [ebp - 0x1624]
mov dword [ebp - 0x1668], ecx
cmp dword [ebp - 0x1668], 0
jne 0x407558
push edi
push edx
add esp, 4
xor edi, 0x91db
and edi, 0x39b7
add edi, 0x96b6
pop edi
push eax
sub eax, 0x632a
add eax, 0x131f9
add eax, 0x3c3a
or eax, 0x1037b
pop eax
mov edx, dword [ebp - 0x518]
mov dword [ebp - 0x774], edx
jmp 0x4075c0
push ebx
push edx
add esp, 4
sub ebx, 0x13945
pop ebx
push edi
push edi
add esp, 4
xor edi, 0x159ae
sub edi, 0x6200
or edi, 0xf805
pop edi
push ecx
add ecx, 0x6db8
add ecx, 0x411e
pop ecx
mov eax, dword [ebp - 0x518]
mov ecx, dword [eax]
mov dword [ebp - 0x518], ecx
mov edx, dword [ebp - 0x518]
cmp edx, dword [ebp - 0xcd0]
je 0x4075b6
mov eax, dword [ebp - 0x518]
cmp dword [eax + 0x30], 0
jne 0x407381
mov dword [ebp - 0x774], 0
push ebx
add ebx, 0x1059e
xor ebx, 0xb65f
call 0x4075d9
add byte [ecx + 0x4c], cl
dec ecx
xor eax, dword [edx + 0x3a]
add esp, 4
pop ebx
push eax
xor eax, 0x6f22
jmp 0x4075eb
add eax, 0xeb09
pop eax
cmp dword [ebp - 0x774], 0
jne 0x40763c
push edx
call 0x407609
add byte [ebx + eax*2], dh
cmp dword [ebp + edi + 0x4b], eax
xor eax, 0x8104c483
xor al, 0x78
add byte [eax], al
pop edx
push ebx
or ebx, 0x4f33
add ebx, 0x2ce6
and ebx, 0x1411
add ebx, 0x15c86
pop ebx
mov dword [ebp - 0xab4], 0
jmp 0x408164
push edi
push esi
add esp, 4
sub edi, 0xe0
and edi, 0xa0ed
or edi, 0x16ba8
sub edi, 0x9007
pop edi
push edi
add edi, 0x1182c
xor edi, 0x9f58
xor edi, 0xe610
pop edi
mov ecx, dword [ebp - 0x774]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x3a4], edx
mov dword [ebp - 0x784], 0
clc
invalid
inc dword [eax]
add byte [eax], al
add byte [ebx - 0x3a37b], cl
dec dword [ecx - 0x166b7b]
inc dword [ebx - 0x166b43]
inc dword [eax]
jne 0x4076ad
mov ecx, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], ecx
jmp 0x40799e
mov edx, dword [ebp - 0x166c]
mov eax, dword [ebp - 0x3a4]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1670], eax
jne 0x4076d5
mov ecx, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], ecx
jmp 0x40799e
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1670]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1678], edx
cmp dword [ebp - 0x1678], 0
jne 0x407707
mov eax, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], eax
jmp 0x40799e
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [ebp - 0x1678]
mov dword [ebp - 0x778], ecx
jne 0x40772c
mov edx, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], edx
jmp 0x40799e
mov eax, dword [ebp - 0x778]
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x19f4], ecx
mov edx, dword [ebp - 0x778]
mov eax, dword [ebp - 0x3a4]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x19f8], eax
mov ecx, dword [ebp - 0x778]
mov edx, dword [ebp - 0x3a4]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x19fc], edx
mov dword [ebp - 0x77c], 0
jmp 0x407786