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

Disassembly:
sub esp, 0x10
push ebp
mov ebp, dword [esp + 0x1c]
push esi
xor esi, esi
cmp dword [ebp], esi
je 0x404546
test byte [0x4a937c], 1
push ebx
mov ebx, dword [esp + 0x20]
push edi
mov byte [esp + 0x28], 0
je 0x404550
mov dword [0x4a9378], esi
mov dword [0x4a9374], esi
mov dword [esp + 0x14], 0x4a935c
mov dword [esp + 0x10], 0x4a935c
jmp 0x404340
mov esi, dword [ebx + 4]
mov edi, dword [ebp]
mov eax, dword [edi + 4]
test esi, esi
je 0x42a3f1
test eax, eax
je 0x42a3f9
cmp esi, eax
jb 0x404500
mov edx, esi
test edx, edx
jbe 0x404387
mov ecx, dword [edi]
mov eax, dword [ebx]
jmp 0x404370
mov bx, word [eax]
cmp bx, word [ecx]
jne 0x40438b
add eax, 2
add ecx, 2
sub edx, 1
jne 0x404370
mov ebx, dword [esp + 0x24]
xor eax, eax
jmp 0x40439b
movzx eax, word [eax]
cmp ax, word [ecx]
mov ebx, dword [esp + 0x24]
sbb eax, eax
and eax, 0xfffffffe
inc eax
test eax, eax
jl 0x4043fa
jle 0x40443f
mov eax, dword [edi + 0x1c]
test eax, eax
je 0x404444
mov edx, dword [eax + 4]
cmp edx, esi
ja 0x40453b
mov dword [esp + 0x1c], edx
test edx, edx
jbe 0x4043ed
mov ecx, dword [ebx]
mov eax, dword [eax]
mov dword [esp + 0x18], edx
jmp 0x4043d0
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4044c0
add eax, 2
add ecx, 2
sub dword [esp + 0x18], 1
jne 0x4043d0
mov edx, dword [esp + 0x1c]
cmp edx, esi
jb 0x4044c5
jmp 0x4044e4
mov eax, dword [edi + 0x18]
test eax, eax
je 0x404444
mov edx, dword [eax + 4]
mov dword [esp + 0x1c], edx
cmp esi, edx
ja 0x404534
test esi, esi
jbe 0x404439
mov ecx, dword [eax]
mov eax, dword [ebx]
mov dword [esp + 0x18], esi
lea esp, [esp]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x404484
add eax, 2
add ecx, 2
sub dword [esp + 0x18], 1
jne 0x404420
mov edx, dword [esp + 0x1c]
cmp esi, edx
jb 0x404489
jmp 0x4044a4
mov byte [esp + 0x28], 1
mov ecx, dword [ebp]
mov edx, dword [ecx + 0x18]
mov eax, dword [esp + 0x10]
mov dword [eax + 0x1c], edx
mov ecx, dword [ebp]
mov edx, dword [ecx + 0x1c]
mov eax, dword [esp + 0x14]
mov dword [eax + 0x18], edx
mov ecx, dword [ebp]
mov edx, dword [0x4a9378]
pop edi
mov dword [ecx + 0x18], edx
mov eax, dword [ebp]
mov ecx, dword [0x4a9374]
pop ebx
pop esi
mov dword [eax + 0x1c], ecx
mov al, byte [esp + 0x1c]
pop ebp
add esp, 0x10
ret 8
cmp dx, word [ecx]
jae 0x4044a4
mov edi, dword [edi + 0x18]
mov ecx, dword [ebp]
mov edx, dword [edi + 0x1c]
mov dword [ecx + 0x18], edx
mov eax, dword [ebp]
mov dword [edi + 0x1c], eax
mov dword [ebp], edi
cmp dword [edi + 0x18], 0
je 0x404444
mov ecx, dword [ebp]
mov edx, dword [esp + 0x14]
mov dword [edx + 0x18], ecx
mov eax, dword [ebp]
mov dword [esp + 0x14], eax
mov eax, dword [eax + 0x18]
mov dword [ebp], eax
jmp 0x404340
cmp dx, word [ecx]
jae 0x4044e4
mov edi, dword [edi + 0x1c]
mov ecx, dword [ebp]
mov edx, dword [edi + 0x18]
mov dword [ecx + 0x1c], edx
mov eax, dword [ebp]
mov dword [edi + 0x18], eax
mov dword [ebp], edi
cmp dword [edi + 0x1c], 0
je 0x404444
mov ecx, dword [ebp]
mov edx, dword [esp + 0x10]
mov dword [edx + 0x1c], ecx
mov eax, dword [ebp]
mov dword [esp + 0x10], eax
mov eax, dword [eax + 0x1c]
mov dword [ebp], eax
jmp 0x404340
test eax, eax
jbe 0x404387
mov edx, dword [edi]
mov ecx, dword [ebx]
mov dword [esp + 0x18], eax
mov ax, word [ecx]
cmp ax, word [edx]
je 0x404520
cmp ax, word [edx]
jmp 0x404395
add ecx, 2
add edx, 2
sub dword [esp + 0x18], 1
jne 0x404510
xor eax, eax
jmp 0x40439b
mov esi, edx
jmp 0x404410
mov edx, esi
mov dword [esp + 0x1c], esi
jmp 0x4043bf
pop esi
xor al, al
pop ebp
add esp, 0x10
ret 8
or dword [0x4a937c], 1
mov ecx, 0x4a935c
call fcn.0040c060
push 0x429283
call fcn.00411421
add esp, 4
jmp 0x40431c