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

Disassembly:
mov edx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], edx
jmp 0x405d36
cmp dword [ebp - 0x3c4], 0
je 0x405e11
push esi
jmp 0x405d4a
or esi, 0x11864
sub esi, 0x160f3
pop esi
push eax
push eax
add esp, 4
xor eax, 0x1ee7
jmp 0x405d68
xor eax, 0x4470
add eax, 0x9fa5
pop eax
mov eax, dword [ebp - 0x3c4]
mov dword [ebp - 0x18b0], eax
push ecx
or ecx, 0x1313f
pop ecx
push esi
push ebx
add esp, 4
call 0x405d9b
add byte [ebp + 0x40], al
dec ebx
inc esp
cmp byte [ebx], bh
inc ebx
add esp, 4
xor esi, 0x3519
or esi, 0x5db5
pop esi
push eax
or eax, 0x5811
pop eax
mov ecx, dword [ebp - 0x18b0]
mov dword [ebp - 0x18b4], ecx
lea edx, [ebp - 0x1628]
push edx
call dword [ebp - 0x18b4]
test eax, eax
jne 0x405e11
push eax
push eax
add esp, 4
and eax, 0x14d24
add eax, 0x9115
jmp 0x405de9
pop eax
push esi
push ecx
add esp, 4
jmp 0x405df6
xor esi, 0x12bea
jmp 0x405e01
pop esi
mov dword [ebp - 0x738], 0
jmp 0x4064fb
push ebx
push edi
add esp, 4
call 0x405e24
add byte [ebp + esi + 0x42], al
dec ecx
aas
cmp byte [eax + 0x45], dl
add esp, 4
pop ebx
push ecx
or ecx, 0xbba7
jmp 0x405e37
jmp 0x405e3c
and ecx, 0x12f43
pop ecx
mov eax, dword fs:[0x18]
mov dword [ebp - 0x18b8], eax
mov ecx, dword [ebp - 0x18b8]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x18bc], edx
mov eax, dword [ebp - 0x18bc]
mov dword [ebp - 0x14f4], eax
push ebx
push ecx
add esp, 4
add ebx, 0x4ac5
or ebx, 0x6802
pop ebx
push ecx
push ecx
add esp, 4
and ecx, 0x4017
add ecx, 0x11f0c
jmp 0x405e95
and ecx, 0xeb80
pop ecx
cmp dword [ebp - 0x14f4], 0
jne 0x405eb4
mov dword [ebp - 0x2e0], 0
jmp 0x40615b
mov ecx, dword [ebp - 0x14f4]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc3c], eax
push edi
push edi
add esp, 4
jmp 0x405ed1
pop edi
push ebx
add ebx, 0x15597
and ebx, 0x1863f
and ebx, 0xf407
pop ebx
push eax
push edx
add esp, 4
xor eax, 0x7354
sub eax, 0x2f29
pop eax
cmp dword [ebp - 0xc3c], 0
jne 0x405f10
mov dword [ebp - 0x2e0], 0
jmp 0x40615b
mov ecx, dword [ebp - 0xc3c]
mov dword [ebp - 0x4dc], ecx
push edi
push ecx
add esp, 4
xor edi, 0x1f4
or edi, 0x112b0
xor edi, 0xb731
and edi, 0x69e9
pop edi
push esi
or esi, 0xe55
add esi, 0x9fce
sub esi, 0x645b
pop esi
lea edx, [ebp - 0x1628]
mov dword [ebp - 0xc38], edx
mov eax, dword [ebp - 0x4dc]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc34], ecx
xor edx, edx
mov word [ebp - 0x200], dx
xor eax, eax
mov word [ebp - 0x34], ax
push ecx
push esi
add esp, 4
xor ecx, 0x17aa7
pop ecx
push edi
sub edi, 0xc823
sub edi, 0x9080
xor edi, 0x335b
pop edi
push esi
push esi
add esp, 4
or esi, 0x5b41
or esi, 0x159f
pop esi
mov ecx, dword [ebp - 0xc34]
mov dx, word [ecx]
mov word [ebp - 0xf86], dx
mov eax, dword [ebp - 0xc34]
add eax, 2
mov dword [ebp - 0xc34], eax
mov cx, word [ebp - 0xf86]
mov word [ebp - 0x200], cx
mov edx, dword [ebp - 0xc38]
mov ax, word [edx]
mov word [ebp - 0xf88], ax
mov ecx, dword [ebp - 0xc38]
add ecx, 2
mov dword [ebp - 0xc38], ecx
mov dx, word [ebp - 0xf88]
mov word [ebp - 0x34], dx
push esi
xor esi, 0x31ec
xor esi, 0x17e73
pop esi
push ecx
push edx
add esp, 4
xor ecx, 0xf493
pop ecx
push edx
push ecx
add esp, 4
jmp 0x406026
and edx, 0x171b4
sub edx, 0x61dc
pop edx
movzx eax, word [ebp - 0x34]
test eax, eax
jne 0x406050
movzx ecx, word [ebp - 0x200]
movzx edx, word [ebp - 0x34]
sub ecx, edx
mov dword [ebp - 0x14fc], ecx
jmp 0x4060aa
movzx eax, word [ebp - 0x200]
movzx ecx, word [ebp - 0x34]
cmp eax, ecx
je 0x405f78
movzx edx, word [ebp - 0x200]
xor edx, 0x20
movzx eax, word [ebp - 0x34]
cmp edx, eax
je 0x405f78
movzx ecx, word [ebp - 0x200]
movzx edx, word [ebp - 0x34]
cmp ecx, edx
jge 0x406094
mov dword [ebp - 0x14f8], 0xffffffff
jmp 0x40609e
mov dword [ebp - 0x14f8], 1
mov eax, dword [ebp - 0x14f8]
mov dword [ebp - 0x14fc], eax
cmp dword [ebp - 0x14fc], 0
jne 0x4060f3
push edx
push esi
add esp, 4
xor edx, 0x18417
sub edx, 0x11647
and edx, 0x2d5c
pop edx
push edx
and edx, 0x7006
xor edx, 0xdbca
sub edx, 0xde79
or edx, 0x7800
pop edx
mov ecx, dword [ebp - 0x4dc]
mov dword [ebp - 0x2e0], ecx
jmp 0x40615b
push ecx
sub ecx, 0xb0ad
and ecx, 0x65df
xor ecx, 0x7a8b
and ecx, 0x15aac
pop ecx
push edx
push ebx
add esp, 4
xor edx, 0x9fde
xor edx, 0x4516
xor edx, 0x2589
pop edx
mov edx, dword [ebp - 0x4dc]
mov eax, dword [edx]
mov dword [ebp - 0x4dc], eax
mov ecx, dword [ebp - 0x4dc]
cmp ecx, dword [ebp - 0xc3c]
je 0x406151
mov edx, dword [ebp - 0x4dc]
cmp dword [edx + 0x30], 0
jne 0x405f1c
mov dword [ebp - 0x2e0], 0
push esi
and esi, 0x780d
pop esi
push eax
add eax, 0x148dd
jmp 0x40616f
and eax, 0x1442
pop eax
push esi
jmp 0x406180
jmp 0x406186
or esi, 0x14019
pop esi
mov eax, dword [ebp - 0x2e0]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x2fc], ecx
push eax
push ebx
add esp, 4
add eax, 0x2f65
add eax, 0x8e67
call 0x4061bb
add byte [ebx], dh
inc esp
dec ecx
xor al, 0x4e
cmp esi, dword [0x4c48339]
call 0x4061ca
add byte [ebp + 0x32], al
dec esi
xor al, 0x3f
inc ecx
add esp, 4
pop eax
mov dword [ebp - 0x70c], 0
mov edx, dword [ebp - 0x2fc]
mov dword [ebp - 0x1500], edx
cmp dword [ebp - 0x1500], 0
jne 0x4061fe
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], eax
jmp 0x4064ef
mov ecx, dword [ebp - 0x1500]
mov edx, dword [ebp - 0x2fc]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x1504], edx
jne 0x406226
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], eax
jmp 0x4064ef
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x1504]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1508], ecx
cmp dword [ebp - 0x1508], 0
jne 0x406258
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], edx
jmp 0x4064ef
mov eax, dword [ebp - 0x2fc]
add eax, dword [ebp - 0x1508]
mov dword [ebp - 0x700], eax
jne 0x40627d
mov ecx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], ecx
jmp 0x4064ef
mov edx, dword [ebp - 0x700]
mov eax, dword [ebp - 0x2fc]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x18c0], eax
mov ecx, dword [ebp - 0x700]
mov edx, dword [ebp - 0x2fc]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x18c4], edx
mov eax, dword [ebp - 0x700]
mov ecx, dword [ebp - 0x2fc]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x18c8], ecx
mov dword [ebp - 0x704], 0
jmp 0x4062d7
mov edx, dword [ebp - 0x704]
add edx, 1
mov dword [ebp - 0x704], edx
mov eax, dword [ebp - 0x700]
mov ecx, dword [ebp - 0x704]
cmp ecx, dword [eax + 0x18]
jae 0x4064e3
mov edx, dword [ebp - 0x704]
mov eax, dword [ebp - 0x18c0]
mov ecx, dword [ebp - 0x2fc]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x708], ecx
mov edx, dword [ebp - 0x704]
mov eax, dword [ebp - 0x18c4]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x18c8]
mov eax, dword [ebp - 0x2fc]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x18cc], eax
mov dword [ebp - 0x184], 0
jmp 0x406347
mov ecx, dword [ebp - 0x184]
add ecx, 1
mov dword [ebp - 0x184], ecx
mov edx, dword [ebp - 0x708]
add edx, dword [ebp - 0x184]
movsx eax, byte [edx]
test eax, eax
je 0x4063f9
mov ecx, dword [ebp - 0x184]
movsx edx, byte [ebp + ecx - 0x804]
test edx, edx
je 0x4063f9
push ecx
or ecx, 0x3e40
xor ecx, 0x5598
or ecx, 0xbf8
jmp 0x40638c
pop ecx
push ecx
push edx
add esp, 4
jmp 0x406399
xor ecx, 0xb0ea
add ecx, 0x122f9
pop ecx
mov eax, dword [ebp - 0x708]
add eax, dword [ebp - 0x184]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x184]
movsx eax, byte [ebp + edx - 0x804]
cmp ecx, eax
je 0x4063eb
mov ecx, dword [ebp - 0x708]
add ecx, dword [ebp - 0x184]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x184]
movsx ecx, byte [ebp + eax - 0x804]
cmp edx, ecx
jne 0x4063f2
jmp 0x406338
jmp 0x4063f9
push edi
sub edi, 0x242e
sub edi, 0xa6a8
pop edi
push edi
push edx
add esp, 4
or edi, 0xe6bc
and edi, 0x14e85
jmp 0x40641e
pop edi
push eax
push esi
add esp, 4
sub eax, 0x1e02
pop eax
mov edx, dword [ebp - 0x708]
add edx, dword [ebp - 0x184]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x184]
movsx edx, byte [ebp + ecx - 0x804]
cmp eax, edx
jne 0x406458
mov dword [ebp - 0xc40], 0
jmp 0x4064c7
push edx
or edx, 0x5d3c
pop edx
push esi
push esi
add esp, 4
jmp 0x40646a
sub esi, 0x786b
sub esi, 0xcec4
pop esi
push ebx
or ebx, 0xa3c3
sub ebx, 0x1609
jmp 0x406489
pop ebx
mov eax, dword [ebp - 0x708]
add eax, dword [ebp - 0x184]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x184]
movsx eax, byte [ebp + edx - 0x804]
or eax, 0x20
cmp ecx, eax
jge 0x4064bd
mov dword [ebp - 0xc40], 0xffffffff
jmp 0x4064c7
mov dword [ebp - 0xc40], 1
cmp dword [ebp - 0xc40], 0
jne 0x4064de
mov ecx, dword [ebp - 0x18cc]
mov dword [ebp - 0x4e0], ecx
jmp 0x4064ef
jmp 0x4062c8
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], edx
mov eax, dword [ebp - 0x4e0]
mov dword [ebp - 0x738], eax
push ebx
jmp 0x406505
jmp 0x40650c
pop ebx
push ebx
push edi
add esp, 4
add ebx, 0xeef3
or ebx, 0xc1a0
pop ebx
push ebx
xor ebx, 0xdccb
sub ebx, 0xe6bf
pop ebx
mov ecx, dword [ebp - 0x3cc]
add ecx, 0xe
mov dword [ebp - 0x1918], ecx
push edx
add edx, 0x899e
pop edx
push eax
push edx
add esp, 4
jmp 0x40654e
or eax, 0x45c6
call 0x406564
add byte [esi + esi], bh
inc esi
cmp bh, byte [0x33324a43]
inc ebp
add esp, 4
or eax, 0x10e24
pop eax
cmp dword [ebp - 0x3cc], 0
je 0x406580
cmp dword [ebp - 0xa5c], 0
jne 0x4065c6
push esi
call 0x40658d
add byte [edi + ecx*2], dh
xor edx, dword [eax + 0x50]
inc ebx
add esp, 4
pop esi
push ecx
push edx
add esp, 4
jmp 0x40659f
add ecx, 0xc2b8
add ecx, 0x17def
add ecx, 0xd7d9
pop ecx
mov edx, dword [ebp - 0x738]
mov dword [ebp - 0x18d0], edx
push 0
call dword [ebp - 0x18d0]
mov dword [ebp - 0x1fb0], 0xa
push edi
push ecx
add esp, 4
and edi, 0xe1d9
sub edi, 0x8b7c
call 0x4065ef
add byte [esi + 0x3e], al
cmp al, 0x35
dec eax
cmp eax, 0xc483394e
add al, 0xe8
pop es
add byte [eax], al
add byte [eax], al
inc ebp
dec ebx
dec esp
dec esp
inc eax
cmp eax, dword [ebx - 0x74a0fb3c]
test dword [esp + edi*8], esi
invalid